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語句

--生成解鎖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以及解鎖方法的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱:MYSQL子查詢和巢狀查詢優化例項解析、幾個比較重要的MySQL變數、ORACLE SQL語句優化技術要點解析等,如果有什麼問題,可以隨時留言,小編會及時回覆大家,努力給廣大程式設計愛好及工作者提供更優質的文章及更好的閱讀體驗。感謝朋友們對本站的支援!