这篇文章主要介绍sqlserver查询锁住sql以及解锁的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
 
       --查看被锁表:
 
SELECT
    request_session_id spid,
    OBJECT_NAME(
        resource_associated_entity_id
    ) tableName
FROM
    sys.dm_tran_locks
WHERE
    resource_type = 'OBJECT'
ORDER BY request_session_id ASC
--spid   锁表进程
    --tableName   被锁表名
--根据锁表进程查询相应进程互锁的SQL语句
DBCC INPUTBUFFER (249)
 
-- 解锁:
 
 DECLARE
        @spid INT
    SET @spid = 52--锁表进程
    DECLARE
        @SQL VARCHAR (1000)
    SET @SQL = 'kill ' + CAST (@spid AS VARCHAR) EXEC (@SQL)
--生成解锁SQL
 
SELECT
  DISTINCT  'DECLARE @spid INT SET @spid = ',request_session_id,' DECLARE @SQL VARCHAR (1000) SET @SQL = ''kill '' + CAST (@spid AS VARCHAR) EXEC (@SQL);'  as s
FROM
    sys.dm_tran_locks
WHERE
    resource_type = 'OBJECT'   --spid   锁表进程
    --tableName   被锁表名
以上是“sqlserver查询锁住sql以及解锁的方法”这篇文章的所有内容,感谢各位的阅读!

dawei

【声明】:达州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。