中易网

什么语句可以获得当前SQLSERVER正在执行查询或更新的语句或表名

答案:1  悬赏:40  
解决时间 2021-01-11 18:27
什么语句可以获得当前SQLSERVER正在执行查询或更新的语句或表名
最佳答案
use master
go
create procedure 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
go
exec sp_who_lock
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
岳飞说过的哪句话最有名?
绝地求生怎么组队
鳄龟能吃吗?
133平米家装半包多少钱
太湖和西湖哪个更美
晏平晏平仲二桃杀三士中的晏平仲指的是什么
鱼具海杆钓50斤大重,那个鱼杆好?
GPS信息中的高度是什么
80和96的因数各是几
长深高速路况实时查询长兴路段
谁有四年级上册数学简便计算题目?(有答案最
我要从厦门去河源想做动车要怎么坐
5分之二十x=八分之五
请问一下哪个黄金平台最好
我申报了9个专利,委托了一家代理公司,后来
推荐资讯
请问有部讲在外国人家当保姆的上海电视剧叫什
比例尺=______:______,比例尺实际上是一个_
住宅中那些空间是属于动区 那些空间属于静区
台湾科目三在哪些情况下按喇叭
JTESTb 是什么水平
求s.h.e到现在为止所有的歌曲名
宋风瓦肆是什么?
之前聊的挺好的,为什么突然不理我了
苹果手机怎么多方通话
在2013年9月1日前购买的汽车是否适应新三包法
求个VLAN账号,跟朋友联机他没有账号,谢谢啦
求救玩绝地求生只有几祯,分辨率也调不了选项
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?