1. 程式人生 > >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被鎖表名