SQL

用SQLSERVER查询正在实行的SQL的方法

时间:2024-09-29 17:52:15 SQL 我要投稿
  • 相关推荐

用SQLSERVER查询正在实行的SQL的方法

  具体操作:

  根据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 的所有信息性消息。

【用SQLSERVER查询正在实行的SQL的方法】相关文章:

MySQL导出导入SQL文件命令方法06-29

sql语法大全03-23

用SQL快速生成用友GRP-U8的AO财务账套的方法202211-10

Sql认证考试内容06-08

男士用哑铃健身的方法09-05

长沙社保查询个人账户查询12-06

关于JDBC连接SQL2000的详细流程07-16

土地登记公开查询02-14

税务师不再实行注册管理04-18

Word2000用Office助手获得帮助方法02-22