Freigeben über


DBCC INPUTBUFFER (Transact-SQL)

Zeigt die letzte Anweisung an, die von einem Client an eine Instanz von Microsoft SQL Server gesendet wurde.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • session_id
    Die einer aktiven primären Verbindung zugeordnete Sitzungs-ID.

  • request_id
    Die genaue Anforderung (Batch), nach der innerhalb der aktuellen Sitzung gesucht werden soll.

    Die folgende Abfrage gibt request_id zurück:

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid;
    
  • WITH
    Aktiviert anzugebende Optionen.

  • NO_INFOMSGS
    Unterdrückt alle Informationsmeldungen, die einen Schweregrad von 0 bis 10 aufweisen.

Resultsets

DBCC INPUTBUFFER gibt ein Rowset mit folgenden Spalten zurück.

Spaltenname

Datentyp

Beschreibung

EventType

nvarchar(30)

Ereignistyp. Dies kann RPC Event oder Language Event sein. Wurde kein letztes Ereignis erkannt, wird No Event ausgegeben.

Parameter

smallint

0 = Text

1- n = Parameter

EventInfo

nvarchar(4000)

Wenn EventType gleich RPC, enthält EventInfo nur den Namen der Prozedur. Wenn EventType gleich Language, werden nur die ersten 4000 Zeichen des Ereignisses angezeigt.

Beispielsweise gibt DBCC INPUTBUFFER das folgende Resultset zurück, wenn das letzte Ereignis im Puffer DBCC INPUTBUFFER(11) war:

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.

Berechtigungen

Eine der folgenden Bedingungen muss erfüllt sein:

  • Der Benutzer muss ein Mitglied der festen Serverrolle sysadmin sein.

  • Der Benutzer muss über die VIEW SERVER STATE-Berechtigung verfügen.

  • session_id muss mit der ID der Sitzung identisch sein, in der der Befehl ausgeführt wird. Führen Sie die folgende Abfrage aus, um die Sitzungs-ID zu bestimmen:

    SELECT @@spid;
    

Beispiele

Im folgenden Beispiel wird DBCC INPUTBUFFER auf einer zweiten Verbindung ausgeführt, während eine vorherige Verbindung durch die Ausführung einer langwierigen Transaktion beansprucht wird.

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