专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sqlserver语句大全:SQL SERVER 查询正在实行的SQL语句 »正文

sqlserver语句大全:SQL SERVER 查询正在实行的SQL语句

来源: 发布时间:星期日, 2009年9月6日 浏览:5次 评论:0
具体操作:
根据master.dbo.sysprocesses中spid和blocked查找当前阻塞语句主人然后使用DBCC INPUTBUFFER 查看阻塞语句
例子:
打开 3个查询分析器 A、B、C
创建个测试用表 testDia
Create Table testDia(ID );
在A执行以下语句:
Begin tran
Insert Into testDia Values(1);
在B执行以下语句:
Select * from testDia
当前情况:B中没有显示结果显示状态为等待
在C执行以下语句:
declare @spid , @blocked
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 所有信息性消息
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: