DBCC INPUTBUFFER (Transact-SQL)
Affiche la dernière instruction envoyée depuis un client à une instance de MicrosoftSQL Server.
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);