共用方式為


DBCC INPUTBUFFER (Transact-SQL)

更新: 2005 年 12 月 5 日

顯示從 Microsoft SQL Server 2005 執行個體的用戶端送出的最後一個陳述式。

主題連結圖示Transact-SQL 語法慣例

語法

DBCC INPUTBUFFER ( session_id [ , request_id ] )
[WITH NO_INFOMSGS ]

引數

  • session_id
    這是每個使用中的主要連接所關聯的工作階段識別碼。
  • request_id
    這是要在目前工作階段內搜尋的確實要求 (批次)。

    下列查詢會傳回 request_id

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid
    
  • WITH
    啟用要指定的選項。
  • NO_INFOMSGS
    抑制所有嚴重性層級在 0 到 10 的參考訊息。

結果集

DBCC INPUTBUFFER 會傳回含有下列資料行的資料列集。

資料行名稱 資料類型 描述

EventType

nvarchar(30)

事件類型。這可以是 RPC 事件語言事件。如果沒有偵測到上一個事件,輸出將為無事件

參數

int

0 = 文字

1- n = 參數

EventInfo

nvarchar(4000)

如果是 EventType 是 RPC,EventInfo 只包含程序名稱。如果 EventType 是「語言」,便只會顯示事件的前 4000 個字元。

例如,當緩衝區內的最後一個事件是 DBCC INPUTBUFFER(11),DBCC INPUTBUFFER 會傳回下列結果集。

EventType      Parameters EventInfo             
-------------- ---------- --------------------- 
Language Event 0          DBCC INPUTBUFFER (11)

(1 row(s) affected)

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

權限

需要下列其中之一:

  • 使用者必須是系統管理員 (sysadmin) 固定伺服器角色的成員。

  • 使用者必須擁有 VIEW SERVER STATE 權限。

  • session_id 必須與執行命令的工作階段識別碼相同。若要判斷工作階段識別碼,請執行下列查詢:

    SELECT @@spid
    

範例

下列範例會在先前的連接執行長交易時,在第二個連接上執行 DBCC INPUTBUFFER

CREATE TABLE T1 (Col1 int, Col2 char(3));
GO
DECLARE @i int;
SELECT @i = 0
BEGIN TRAN
SELECT @i = 0
WHILE (@i < 100000)
BEGIN
INSERT INTO T1 VALUES (@i, CAST(@i AS char(3)))
SELECT @i = @i + 1
END;
COMMIT TRAN;
--Start new connection #2.
DBCC INPUTBUFFER (52); 

請參閱

參考

DBCC (Transact-SQL)
sp_who (Transact-SQL)
追蹤旗標 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 改寫「結果集」描述,以求明確。
  • 在「權限」一節中加入詳細資訊。