• <nav id="cwumo"><code id="cwumo"></code></nav>
  • <menu id="cwumo"><strong id="cwumo"></strong></menu>

    用SQLSERVER查詢正在實行的SQL的方法

    時間:2024-08-31 18:38:58 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的方法】相關文章:

    用SQL實現查詢數據不顯示錯誤數據的方法03-29

    SQL查詢語句大全04-25

    sql語句的各種模糊查詢03-30

    Sql Server、Access數據排名的實現方法03-30

    MySQL導出導入SQL文件命令方法03-30

    有關清除SQL Server日志的兩種方法03-29

    SQL2008定時任務作業創建方法03-29

    2016年微軟認證模擬試題「SQLServer」03-15

    SQL優化大全03-08

    日韩激情