SQL SERVER 查找鎖信息
阿新 • • 發佈:2018-01-05
sts 使用 過程 div sql 執行 soci where group
通過系統的存儲過程 sp_who 或 sp_who2 可以查找出所有的鎖信息, 但是看不出是哪個表, 什麽語句
當使用 sp_who 或 sp_who2 查找鎖信息的時候, 有個 spid 信息, 可以通過下面的語句查出相應的語句
DBCC INPUTBUFFER (spid)
使用這個語句, 不一定能查出信息, 能查出來, 就是執行的語句, 也有說這個是查死鎖語句的。
下面語句查死鎖數
select blocked from (select * from sys.sysprocesses where blocked>0 ) a where not exists(select * from (select * from sys.sysprocesses where blocked>0 ) b where a.blocked=spid)
使用下面的語句, 可以查找出哪些表被鎖,以及被鎖的次數
select tablename, COUNT(*) CNT from ( select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type=‘OBJECT‘ ) aa group by tableName order by CNT desc
SQL SERVER 查找鎖信息