当前位置:Gxlcms > 数据库问题 > SQL SERVER 查找锁信息

SQL SERVER 查找锁信息

时间:2021-07-01 10:21:17 帮助过:15人阅读

通过系统的存储过程  sp_who 或 sp_who2 可以查找出所有的锁信息, 但是看不出是哪个表, 什么语句

 

当使用 sp_who 或 sp_who2 查找锁信息的时候, 有个 spid 信息, 可以通过下面的语句查出相应的语句

DBCC INPUTBUFFER (spid)

使用这个语句, 不一定能查出信息, 能查出来, 就是执行的语句, 也有说这个是查死锁语句的。

 

下面语句查死锁数

  1. select blocked
  2. from (select * from sys.sysprocesses where blocked>0 ) a
  3. where not exists(select * from (select * from sys.sysprocesses where blocked>0 ) b
  4. where a.blocked=spid)

 

 

使用下面的语句, 可以查找出哪些表被锁,以及被锁的次数

  1. select tablename, COUNT(*) CNT from (
  2. select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
  3. from sys.dm_tran_locks where resource_type=‘OBJECT‘
  4. ) aa group by tableName
  5. order by CNT desc

 

SQL SERVER 查找锁信息

标签:buffer   session   type   roc   过程   系统   order by   ssi   input   

人气教程排行