SqlServer死锁与阻塞检测脚本
来源:互联网 发布:ubuntu chrome 下载源 编辑:程序博客网 时间:2024/04/29 09:30
IF EXISTS (SELECT * FROM sysobjects WHERE [name] = 'sp_Lock_Scan')DROP PROCEDURE sp_Lock_ScanGOCREATE PROCEDURE sp_Lock_ScanASDECLARE @SPID INTDECLARE @BLK INTDECLARE @Count INTDECLARE @Counter INTDECLARE @LOCK BITCREATE TABLE #Temp([Id] INT IDENTITY,[SPID] INT,[BLOCK] INT)SELECT @LOCK = 0IF @@ERROR <> 0 RETURN @@ERRORINSERT INTO #Temp([SPID], [BLOCK])SELECT0, [blocked]FROM(SELECT * FROM [master]..[sysprocesses] WHERE [blocked] > 0) aWHERENOT EXISTS(SELECT * FROM [master]..[sysprocesses] WHERE a.[blocked] = [spid] AND [blocked] > 0)UNIONSELECT [spid], [blocked] FROM [master]..[sysprocesses] WHERE [blocked] > 0IF @@ERROR <> 0 RETURN @@ERRORSELECT @Count = COUNT(*), @Counter = 1 FROM #TempIF @@ERROR <> 0 RETURN @@ERRORIF @Count = 0BEGINSELECT N'没有阻塞和死锁信息' [ScanMessage]RETURN 0ENDELSEBEGINWHILE @Counter <= @CountBEGINIF EXISTS(SELECT * FROM #Temp a WHEREa.[Id] > @CounterANDEXISTS(SELECT * FROM #Temp WHERE [Id] <= @Counter AND a.[BLOCK] = [SPID]))BEGINSELECT @LOCK = 1SELECT @SPID = [SPID], @BLK = [BLOCK] from #Temp WHERE [Id] = @CounterSELECT N'引起数据库死锁的是:【' + CAST(@SPID AS NVARCHAR(255)) + N'】进程,其执行的SQL语言如下' [ScanMessage]SELECT @SPID [SPID], @BLK [BLOCKED]DBCC INPUTBUFFER(@SPID)DBCC INPUTBUFFER(@BLK)ENDSELECT @Counter = @Counter + 1ENDIF @LOCK = 0BEGINSELECT @Counter = 1WHILE @Counter <= @CountBEGINSELECT @SPID = [SPID], @BLK = [BLOCK] FROM #Temp where [Id] = @CounterIF @SPID = 0SELECT N'引起阻塞的是:【'+ CAST(@BLK AS NVARCHAR(255)) + '】,其执行的SQL语法如下' [ScanMessage]ELSESELECT N'进程【' + CAST(@SPID AS NVARCHAR(255)) + N'】被进程【' + CAST(@BLK AS NVARCHAR(255)) + N'】阻塞,当前进程的SQL语法如下' [ScanMessage]DBCC INPUTBUFFER(@SPID)DBCC INPUTBUFFER(@BLK)SELECT @Counter = @Counter + 1ENDENDENDRETURN 0GO
0 0
- SqlServer死锁与阻塞检测脚本
- SQLServer事务、阻塞、死锁
- sqlserver 检测死锁
- SqlServer死锁检测
- 阻塞与死锁
- 阻塞与死锁
- 模拟阻塞和死锁及检测
- 2012 使用XEvent sqlserver.blocked_process_report检测阻塞
- SQLServer 检查死锁及阻塞,解决死锁及阻塞,查看数据库所有锁信息.
- 【SQLServer 2008】数据库查看死锁、阻塞的SQL语句
- 利用sys.sysprocesses检查SqlServer的阻塞和死锁
- v利用sys.sysprocesses检查SqlServer的阻塞和死锁 .
- 死锁的产生与检测
- linux死锁检测与调试
- SQL SERVER性能分析--死锁检测数据库阻塞语句
- SQL SERVER性能分析--死锁检测数据库阻塞语句 .
- SQL SERVER性能分析--死锁检测数据库阻塞语句
- SQL SERVER性能分析--死锁检测数据库阻塞语句
- 拍照,系统选择照片
- Android MessageQueue 源码笔记
- Reverse Linked List
- 解析P2P金融的业务安全
- CentOS7下yum安装SAMBA全命令过程
- SqlServer死锁与阻塞检测脚本
- 近期关于YALMIP的一些知识
- Smarty赋值对象方法,配置简化封装类
- iOS 开发 url 整理
- 智慧家庭+互联工厂 海尔互联网工业的领先路径
- IOS 原生二维码扫描 学习笔记
- JavaScript == 与===
- iOS 整理iOS9适配中出现的坑
- BaseAdapter 的getItemViewType和getViewTypeCount