SQL Server 查询正在实行的SQL语句

2022-11-12 09:48:10
内容摘要
这篇文章主要为大家详细介绍了SQL Server 查询正在实行的SQL语句,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!具体操作:根据master.dbo.
文章正文

这篇文章主要为大家详细介绍了SQL Server 查询正在实行的SQL语句,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

具体操作:根据master.dbo.sysprocesses中的spid和blocked查找当前阻塞语句的主人,然后使用DBCC INPUTBUFFER ()查看阻塞语句。例子:打开三个查询分析器 A、B、C创建一个测试用的表 testDiaCreate Table testDia(ID int);在A执行以下语句:Begin tranInsert Into testDia Values(1);在B执行以下语句:Select * from testDia当前情况:B中没有显示结果,显示状态为等待在C执行以下语句:declare @spid int, @blocked intselect top 1 @blocked = blockedfrom master.dbo.sysprocesseswhere blocked > 0DBCC 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_idFROM sys.dm_exec_requestsWHERE session_id = @@spidWITH启用要指定的选项。NO_INFOMSGS取消严重级别从 0 到 10 的所有信息性消息。

注:关于SQL Server 查询正在实行的SQL语句的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!