代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
检查锁定SQL Server数据库的Process ID
作者:
DTC2
/ 发布于
2015/8/10
/
916
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 DECLARE @temp_who_lock AS TABLE ( 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 TOP 1 1 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(1), @index = 1 FROM @temp_who_lock IF @@error <> 0 RETURN @@error IF @count = 0 BEGIN SELECT N'没有阻塞和死锁信息' RETURN 0 END WHILE @index <= @count BEGIN IF EXISTS ( SELECT TOP 1 1 FROM @temp_who_lock a WHERE id > @index AND EXISTS ( SELECT TOP 1 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 N'引起数据库死锁的是:' + CAST(@spid AS NVARCHAR(10)) + N'进程号,其执行的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 N'引起阻塞的是:' + CAST(@blk AS NVARCHAR(10)) + N'进程号,其执行的SQL语法如下' ELSE SELECT N'进程号SPID:' + CAST(@spid AS NVARCHAR(10)) + N'被进程号SPID:' + CAST(@blk AS NVARCHAR(10)) + N'阻塞,其当前进程执行的SQL语法如下' DBCC INPUTBUFFER (@spid) DBCC INPUTBUFFER (@blk) SET @index = @index + 1 END END RETURN 0 END GO EXEC #sp_who_lock
试试其它关键字
Process
ID
同语言下
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
DTC2
贡献的其它代码
(
12
)
.
安卓常用对话框合集
.
分析并输出Python代码依赖的库
.
通过银行卡号取得银行名字
.
结束当前的锁对象
.
查出oracle当前的被锁对象
.
查看正在执行sql的发起者的调用程序
.
查询Oracle正在执行的sql语句及执行该语句的用户
.
获取SQL Server数据库中所有的用户存储过程
.
检查锁定SQL Server数据库的Process ID
.
查询SQL Server正在执行的语句
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3