DBCC INPUTBUFFER (Transact-SQL)

Wyświetla ostatniej instrukcja wysyłane z klient do wystąpienie Microsoft SQL Server.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • session_id
    Identyfikator sesja jest skojarzony z każdego aktywnego połączenia głównego.

  • request_id
    To żądanie dokładnie (partia) do wyszukiwania w bieżącej sesja.

    Następujące kwerendy zwraca request_id:

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid;
    
  • Z
    Włącza opcje, które zostaną określone.

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

Zestawy wyników

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

Nazwa kolumny

Typ danych

Opis

Typ zdarzenia

nvarchar(30)

Typ zdarzenia.Może to być Zdarzenia RPC lub Zdarzeń języka.Dane wyjściowe będą Nr zdarzenia gdy wykryto nie ostatnie zdarzenie .

Parametry

smallint

0 = Tekst

1- n= Parametry

EventInfo

nvarchar(4000)

Dla EventType usługi RPC, EventInfo zawiera nazwę procedury.Dla EventType języka, wyświetlane są tylko pierwsze 4000 znaków zdarzenie .

Na przykład DBCC INPUTBUFFER zwraca następujące zestaw wyników podczas ostatniego zdarzenie w buforze jest DBCC INPUTBUFFER(11).

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

Wymaga jednego z następujących czynności:

  • Użytkownik musi być element członkowski sysadmin stała rola serwera.

  • Użytkownik musi mieć uprawnienie WYŚWIETL stan serwera.

  • session_idmusi być taki sam, jak identyfikator sesja , na którym wykonywane jest polecenie.Aby określić sesja ID wykonać następującej kwerendy:

    SELECT @@spid;
    

Przykłady

Poniższy przykład działa DBCC INPUTBUFFER na drugie połączenie, długiej transakcji jest uruchomiona na poprzednie połączenia.

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