| 您的当前位置:首页 --> MSSQL教程 |
| SQL SERVER 查询正在实行的SQL语句 |
| 浏览次数:1551 关键词 ( ) |
|
具体操作: 根据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 的所有信息性消息。 |
| 下载次数:4 |
| 下载地址:点击下载 |
| 本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@ |
| 下一条 Sqlserver事务备份和还原的实例代码(必看) 上一条 sql 随机抽取几条数据的方法 推荐 |