• 专门查看阻塞和死锁情况以及引起的SQL语句,你可以创建后,直接运行之。


    CREATE procedure sp_who_lock
    as
    begin
    declare @spid int
    declare @blk int
    declare @count int
    declare @index int
    declare @lock tinyint
    set @lock=0
    create table #temp_who_lock
    (
    id int identity(1,1),
    spid int,
    blk int
    )
    if @@error<>0 return @@error
    insert into #temp_who_lock(spid,blk)
    select 0 ,blocked
    from (select * from master..sysprocesses where blocked>0)a
    where not exists(select * from master..sysprocesses where a.blocked =spid and blocked>0)
    union select spid,blocked from master..sysprocesses where blocked>0
    if @@error<>0 return @@error
    select @count=count(*),@index=1 from #temp_who_lock
    if @@error<>0 return @@error
    if @count=0
    begin
    select '没有阻塞和死锁信息'
    return 0
    end
    while @index<=@count
    begin
    if exists(select 1 from #temp_who_lock a where id>@index and exists(select 1 from #temp_who_lock where id<=@index and a.blk=spid))
    begin
    set @lock=1
    select @spid=spid,@blk=blk from #temp_who_lock where id=@index
    select '引起数据库死锁的是: '+ CAST(@spid AS VARCHAR(10)) + '进程号,其执行的SQL语法如下'
    select @spid, @blk
    dbcc inputbuffer(@spid)
    dbcc inputbuffer(@blk)
    end
    set @index=@index+1
    end
    if @lock=0
    begin
    set @index=1
    while @index<=@count
    begin
    select @spid=spid,@blk=blk from #temp_who_lock where id=@index
    if @spid=0
    select '引起阻塞的是:'+cast(@blk as varchar(10))+ '进程号,其执行的SQL语法如下'
    else
    select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '进程号SPID:'+ CAST(@blk AS VARCHAR(10)) +'阻塞,其当前进程执行的SQL语法如下'
    dbcc inputbuffer(@spid)
    dbcc inputbuffer(@blk)
    set @index=@index+1
    end
    end
    drop table #temp_who_lock
    return 0
    end


    GO

  • 相关阅读:
    HDU_3127 WHUgirls(DP)
    ibatits
    jqGrid怎么设定水平滚动条
    poi导出EXcel
    jqGrid资料总结
    jqgrid横向滚动条
    开源网http://www.openopen.com/ajax/2_Charts.htm
    struts2国际化
    struts2结合poi导出excel
    Struts2 Action读取资源文件
  • 原文地址:https://www.cnblogs.com/yzwdli/p/5387654.html
Copyright © 2020-2023  润新知