优茬娱乐网
您的当前位置:首页sqlserver查询锁住sql以及解锁的方法

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 被锁表名
显示全文