Condividi tramite


DBCC INPUTBUFFER (Transact-SQL)

Visualizza l'ultima istruzione inviata da un client a un'istanza di MicrosoftSQL Server.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • session_id
    ID della sessione associata a ogni connessione principale attiva.

  • request_id
    Richiesta (batch) da cercare nella sessione corrente.

    La query seguente restituisce request_id:

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid
    
  • WITH
    Consente di specificare opzioni.

  • NO_INFOMSGS
    Evita la visualizzazione di tutti i messaggi informativi con livello di gravità compreso tra 0 e 10.

Set di risultati

L'istruzione DBCC INPUTBUFFER restituisce un set di righe che include le colonne seguenti.

Nome colonna

Tipo di dati

Descrizione

EventType

nvarchar(30)

Tipo di evento. Può corrispondere a RPC Event o Language Event. Se non viene rilevato un ultimo evento, l'output sarà No Event.

Parametri

int

0 = Testo

1- n = Parametri

EventInfo

nvarchar(4000)

Se il valore della colonna EventType è RPC, EventInfo visualizza solo il nome della procedura. Se EventType corrisponde a Language Event, vengono visualizzati solo i primi 4000 caratteri dell'evento.

Se, ad esempio, l'ultimo evento del buffer è DBCC INPUTBUFFER(11), DBCC INPUTBUFFER restituisce il set di risultati seguente.

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.

Autorizzazioni

È richiesta una delle condizioni seguenti:

  • L'utente deve essere membro del ruolo predefinito del server sysadmin.

  • L'utente deve disporre di autorizzazione VIEW SERVER STATE.

  • session_id deve corrispondere all'ID di sessione con cui il comando è in esecuzione. Per determinare l'ID di sessione, eseguire la query seguente:

    SELECT @@spid
    

Esempi

Nell'esempio seguente viene eseguito DBCC INPUTBUFFER in una seconda connessione durante una transazione di lunga durata su una connessione precedente.

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