zoukankan      html  css  js  c++  java
  • sqlserver 死锁查看辅助存储过程

    USE [master]
    GO
    /****** Object:  StoredProcedure [dbo].[sp_who_lock]    Script Date: 03/23/2016 14:17:49 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[sp_who_lock]  
    as  
    begin  
    declare @spid int,@bl int,  
    @intTransactionCountOnEntry int,  
            @intRowcount    int,  
            @intCountProperties   int,  
            @intCounter    int  
      
    create table #tmp_lock_who (  
    id int identity(1,1),  
    spid smallint,  
    bl smallint)  
      
    IF @@ERROR<>0 RETURN @@ERROR  
      
    insert into #tmp_lock_who(spid,bl) 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  
      
    IF @@ERROR<>0 RETURN @@ERROR   
      
    -- 找到临时表的记录数  
    select @intCountProperties = Count(*),@intCounter = 1  
    from #tmp_lock_who  
      
    IF @@ERROR<>0 RETURN @@ERROR   
      
    if @intCountProperties=0  
    select '现在没有阻塞和死锁信息' as message  
      
    -- 循环开始  
    while @intCounter <= @intCountProperties  
    begin  
    -- 取第一条记录  
    select @spid = spid,@bl = bl  
    from #tmp_lock_who where Id = @intCounter   
    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 )  
    end   
      
    -- 循环指针下移  
    set @intCounter = @intCounter + 1  
    end  
      
    drop table #tmp_lock_who  
      
    return 0  
    end  
    

      

  • 相关阅读:
    连接查询
    分组查询
    【转载】C语言 构建参数个数不固定函数
    【转载】vc编译exe的体积最小优化
    VC6微软正则表达式greta使用案例
    MultiByteToWideChar和WideCharToMultiByte
    【转载】VC操作剪切板
    VC/MFC分割字符串(SplitString)返回CStringArray
    【转载】实现UTF8与GB2312编码格式相互转换(VC)已经验证!
    VC6配置sqlite数据库
  • 原文地址:https://www.cnblogs.com/jiangguang/p/5310948.html
Copyright © 2011-2022 走看看