DBCC INPUTBUFFER (Transact-SQL)

Affiche la dernière instruction envoyée depuis un client à une instance de MicrosoftSQL Server.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

  • session_id
    ID de session associé à chaque connexion principale active.

  • request_id
    Demande exacte (traitement) à rechercher dans la session en cours.

    L'exemple suivant renvoie request_id :

    SELECT request_id 
    FROM sys.dm_exec_requests 
    WHERE session_id = @@spid
    
  • WITH
    Autorise la spécification d'options.

  • NO_INFOMSGS
    Supprime tous les messages d'informations dont le niveau de gravité est compris entre 0 et 10.

Jeux de résultats

DBCC INPUTBUFFER retourne un jeu de lignes comportant les colonnes suivantes.

Nom de colonne

Type de données

Description

EventType

nvarchar(30)

Type d'événement. Il peut s'agir d'un événement RPC ou d'un événement langage. La sortie correspond à Aucun événement lorsqu'aucun dernier événement n'a été détecté.

Parameters

int

0 = texte

1- n = Paramètres

EventInfo

nvarchar(4000)

Pour un EventType de RPC, EventInfo contient uniquement le nom de la procédure. Pour un EventType de type langage, seuls les 4000 premiers caractères de l'événement sont affichés.

Par exemple, DBCC INPUTBUFFER retourne le jeu de résultats suivant lorsque le dernier événement dans le tampon est 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.

Autorisations

L'une des autorisations suivantes est requise :

  • L'utilisateur doit être membre du rôle de serveur fixe sysadmin.

  • L'utilisateur doit bénéficier de l'autorisation VIEW SERVER STATE.

  • L'argument session_id doit être identique à l'ID de session dans laquelle la commande est exécutée. Pour déterminer l'ID de session, exécutez la requête suivante :

    SELECT @@spid
    

Exemple

L'exemple suivant exécute DBCC INPUTBUFFER sur une seconde connexion tandis qu'une longue transaction est en cours d'exécution sur une connexion précédente.

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