zoukankan      html  css  js  c++  java
  • SQL2005查询死锁的表和具体的语句

    查是哪个进程死锁了哪些表

    select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
    from sys.dm_tran_locks where resource_type='OBJECT'

    下面的代码是可以看到死锁的语句

    use master
    go
    declare @spid int,@bl int
    DECLARE s_cur CURSOR FOR
    select 0 ,blocked
    from (select * from sysprocesses where blocked>0 ) a
    where not exists(select * from (select * from sysprocesses where blocked>0 ) b
    where a.blocked=spid)
    union select spid,blocked from sysprocesses where blocked>0
    OPEN s_cur
    FETCH NEXT FROM s_cur INTO @spid,@bl
    WHILE @@FETCH_STATUS = 0
    begin
    if @spid =0
    select '引起数据库死锁的是:
    '+ CAST(@bl AS VARCHAR(10)) + '进程号,其执行的SQL语法如下'
    else
    select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '
    进程号SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其当前进程执行的SQL语法如下'
    DBCC INPUTBUFFER (@bl )
    FETCH NEXT FROM s_cur INTO @spid,@bl
    end
    CLOSE s_cur
    DEALLOCATE s_cur

  • 相关阅读:
    HTTPS原理浅析
    Java8 HashMap源码分析
    Java8 ArrayList源码分析
    Java反射
    Java泛型
    Tensorflow卷积神经网络
    Java8 Stream简介
    java.io与网络通信
    Python实现RNN
    域名系统DNS简介
  • 原文地址:https://www.cnblogs.com/JangoJing/p/7573809.html
Copyright © 2011-2022 走看看