具体操作:
根据master.dbo.sysprocesses中的spid和blocked查找当前阻塞语句的主人,然后使用DBCC INPUTBUFFER ()查看阻塞语句。
例子:
打开三个查询分析器 A、B、C
创建一个测试用的表 testDia
Create Table testDia(ID int);
在A执行以下语句:
Begin tran
Insert Into testDia Values(1);
在B执行以下语句:
Select * from testDia
当前情况:B中没有显示结果,显示状态为等待
在C执行以下语句:
declare @spid int, @blocked int
select top 1 @blocked = blocked
from master.dbo.sysprocesses
where blocked > 0
DBCC INPUTBUFFER (@blocked)
技术参考:
DBCC INPUTBUFFER (Transact-SQL)
显示从客户端发送到 Microsoft SQL Server 2005 实例的最后一个语句。
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[WITH NO_INFOMSGS ]
session_id
与各活动主连接关联的会话 ID。
request_id
要在当前会话中精确搜索的请求(批)。
下面的查询返回 request_id:
复制代码
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spidWITH
启用要指定的选项。
NO_INFOMSGS
取消严重级别从 0 到 10 的所有信息性消息。
SQL SERVER 查询正在实行的SQL语句
2019-11-07 15:51mssql教程网 Sql Server
SQL SERVER 查询正在实行的SQL语句的实现代码
延伸 · 阅读
- 2022-06-07MongoDB基础之查询文档
- 2022-04-21我用Ehcache把查询性能提升了100倍,真香!
- 2022-03-10疫情地图在哪看?疫情地图实时更新查询教程
- 2022-03-09MySQL由浅入深掌握连接查询
- 2022-03-09mybatis-plus多表关联查询功能的实现
- 2022-03-08springboot构造树形结构数据并查询的方法
精彩推荐
- Sql Server
sql查询点滴记录
做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗 ...
- Sql Server
SQLserver 实现分组统计查询(按月、小时分组)
首先创建数据表IP地址,访问时间和访问次数。如果每访问一次就插入一条记录,那么AccessCount可以不要,查询时使用count就可以了,这样当访问量很大的时...
- Sql Server
sqlserver 索引的一些总结
如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化 ...
- Sql Server
使用 TOP 子句限制UPDATE 语句更新的数据
这篇文章主要介绍了使用 TOP 子句限制UPDATE 语句更新的数据,需要的朋友可以参考下 ...
- Sql Server
SQLSERVER数据备份文件的分割备份方法
这篇文章主要介绍了SQLSERVER数据备份文件的分割备份方法 ,需要的朋友可以参考下 ...
- Sql Server
SQL Server 2000“设备激活错误”的解决方法
数据库恢复时出现诸如“设备激活错误,请使用with move选项来标志该文件的有效位置”报错的解决方法 ...
- Sql Server
sql server中查找特定类别的列的写法
要对特定类别的列进行一些操作,写了以下的一段代码,比较方便检查数据库内同一类别的所有列,示例用来查所有nvarchar的列 ...
- Sql Server
在SQLServer 2005中编写存储过程
在SQL Server 2000中,实际上只有一种创建存储过程的方法:即T-SQL语句。之前的每个SQL Server版本都采用这个程序。...