下面是我整理的监控sql server数据库,在性能测试过程中是否出现死锁、堵塞的SQL语句,还算比较准备,留下来备用。

调用方法:选中相应的数据库,执行exec sp_who_lock

USE [master]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE 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

plsql 查询存储过程死锁语句_SQL2005查看死锁存储过程sp_who_lock相关推荐

  1. java 如何检测死锁_Java如何查看死锁

    Java中当我们的开发涉及到多线程的时候,这个时候就很容易遇到死锁问题,刚开始遇到死锁问题的时候,我们很容易觉得莫名其妙,而且定位问题也很困难. 因为涉及到java多线程的时候,有的问题会特别复杂,而 ...

  2. mysql查看死锁并杀掉_查看当前进程,或死锁进程,并能自动杀掉死进程_MySQL

    /*--处理死锁 查看当前进程,或死锁进程,并能自动杀掉死进程 因为是针对死的,所以如果有死锁进程,只能查看死锁进程 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 --邹建 2004.4 ...

  3. mysql 杀存储过程进程_SQL SERVER 杀死锁进程存储过程

    use master        --必须在master数据库中创建 go if exists (select * from dbo.sysobjects where id = object_id( ...

  4. mysql查看死锁并杀掉_查看当前进程,或死锁进程,并能自动杀掉_mysql

    /*--处理死锁 查看当前进程,或死锁进程,并能自动杀掉死进程 因为是针对死的,所以如果有死锁进程,只能查看死锁进程 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 --邹建 2004.4 ...

  5. lua mysql 死锁_使用 mysqladmin debug 查看死锁信息

    使用 mysqladmin debug 查看死锁信息 mysqladmin -S /mysql/data/mysql.sock debug 然后在error日志中,会看到: 11 lock struc ...

  6. plsql 查询存储过程死锁语句_ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句...

    存储过程 1.找到正在执行的存储过程的 sid ,serial# select   b.sid,b.SERIAL#,a.OBJECT, 'alter system kill session   ' | ...

  7. sql server 查看死锁,以及执行语句

    sql server 查看死锁,以及执行语句 第二秒 select t1.resource_type [资源锁定类型], DB_NAME(resource_database_id) as 数据库名, ...

  8. oracle 杀死过程,ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句

    1.找到正在执行的存储过程的 sid ,serial# select   b.sid,b.SERIAL#,a.OBJECT, 'alter system kill session   ' || ''' ...

  9. mysql死锁查询_Mysql 查看死锁,解除死锁 方式

    解除正在死锁的状态有两种方法: 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程.否则, ...

最新文章

  1. 阿里云虚拟主机数据库主机怎么看
  2. 计算机行业越来越卷,AI都会刷LeetCode了,网友:比我强
  3. dfs入门排列数字问题(一看就懂的讲解)
  4. C/C++ 语言的常用开发工具下载
  5. 服务器之select
  6. Java 数组操作
  7. 端口扫描 -- scanport和superscan
  8. 电脑连接了HDMI线,电脑没有声音了,原因和解决办法
  9. java中交换机的作用_交换机链路聚合在网络中的作用
  10. yolo数据集剪裁:切割目标框并将该框内的其他目标一并提取并转为可用数据集
  11. OR青年|可重复使用资源的在线分配问题综述
  12. 振弦传感器不同线制分类
  13. 私有云是伪命题:真正的私有云 ≈ 公有云
  14. 262-Trips and Users
  15. jenkins 使用过程问题解决方法
  16. .bat命令脚本简单编写运行
  17. 注册表去除桌面快捷方式小箭头引起此电脑右键管理无法使用
  18. RedHat 8 时间同步和时区修改
  19. amaya网页设计.
  20. 讲一下dns过程:给一个网址www.google.com,dns服务器如何逐级解析的?

热门文章

  1. 山海经鸿蒙手游iOS 版本,山海经鸿蒙异兽iOS版
  2. android 稳定性测试工具,APP 稳定性测试工具-Fastbot_Android详解
  3. @RequestMapping参数详解
  4. recyclerview item 点击有背景_如何用RecyclerView实现猫眼电影选择效果
  5. 机器学习hierarchical clustering_ICLR 2020 | 反事实因果理论如何帮助深度学习?
  6. 网络编程学习笔记--1.socket可读可写条件
  7. ubuntu05.04安装,及编译模块问题
  8. 麦咭早教机器人_号外|「2019第一站」麦咭亮相香港国际授权展!
  9. ajax传formdata类型的数据_JQuery.Ajax()的data参数类型
  10. 【深度学习】Swin-Transformer和EfficientNet对比分析