时间:2021-07-01 10:21:17 帮助过:15人阅读
通过系统的存储过程 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 查找锁信息
标签:buffer session type roc 过程 系统 order by ssi input