DBCC INPUTBUFFER (języka Transact-SQL)

Displays the last statement sent from a client to an instance of Microsoft SQL Server.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • session_id
    Jest to identyfikator sesji związany z każdym aktywnym połączeniem podstawowym.

  • request_id
    Jest to dokładne żądanie (partia), aby wyszukiwać w bieżącej sesji.

    Następująca kwerenda zwraca request_id:

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid
    
  • Z
    jeden-do-jednego

  • NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne, których poziomy ważności, od 0 do 10.

Zestawy wyników

Opcja DBCC INPUTBUFFER zwraca zestaw wierszy dla następujących kolumn.

Nazwa kolumna

Typ danych

Description

Typ zdarzenia

nvarchar(30)

Typ zdarzenia.Może to być RPC Event lub Language Event.Jeśli nie wykryto ostatniego zdarzenia wartością wyjściową będzie No Event.

Parameters

int

0 = Tekst

1- n = Parametry

EventInfo

nvarchar(4000)

Dla Typ zdarzenia of RPC, EventInfo zawiera tylko nazwę procedury.Dla Typ zdarzenie języka, tylko pierwsze 4000 znaków zdarzenie są wyświetlane.

Określa hasło wymagane do odszyfrowania klucz prywatnego, który jest pobierany z pliku.

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.

Uprawnienia

To klauzula jest opcjonalna, jeśli klucz prywatny jest chroniony pustym hasłem.

  • Użytkownik musi być członkiem sysadmin ustalić roli serwera.

  • Jeśli wymagane jest hasło, ale hasło nie zostanie określony, instrukcja nie powiedzie się.

  • Parametr session_id musi być taki sam, jak identyfikator sesji, dla której uruchomiono polecenie.Aby określić identyfikator sesji, wykonaj następującą kwerendę:

    SELECT @@spid
    

Przykłady

Poniższy przykład działa DBCC INPUTBUFFER dla drugiego połączenia podczas długich transakcji jest uruchomiona na poprzedniego połączenia.

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);