DBCC INPUTBUFFER (Transact-SQL)
Muestra la última instrucción enviada desde un cliente a una instancia de Microsoft SQL Server.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DBCC INPUTBUFFER ( session_id [ , request_id ])
[WITH NO_INFOMSGS ]
Argumentos
session_id
Es el Id. de sesión asociado a cada conexión principal activa.request_id
Es la solicitud (lote) exacta que se va a buscar en la sesión actual.La siguiente consulta devuelve request_id:
SELECT request_id FROM sys.dm_exec_requests WHERE session_id = @@spid;
WITH
Habilita la especificación de opciones.NO_INFOMSGS
Elimina todos los mensajes informativos con niveles de gravedad entre 0 y 10.
Conjuntos de resultados
DBCC INPUTBUFFER devuelve un conjunto de filas con las siguientes columnas.
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
EventType |
nvarchar(30) |
Tipo de evento. Puede ser RPC Event o Language Event. La salida será No Event si no se detectó el último evento. |
Parameters |
smallint |
0 = Texto 1- n = Parámetros |
EventInfo |
nvarchar(4000) |
En un argumento EventType de RPC, EventInfo solo contiene el nombre del procedimiento. Si el valor de EventType es Language, solo se muestran los primeros 4.000 caracteres del evento. |
Por ejemplo, DBCC INPUTBUFFER devuelve el siguiente conjunto de resultados cuando el último evento del búfer es 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.
Permisos
Requiere una de las siguientes condiciones:
El usuario debe ser miembro del rol fijo de servidor sysadmin.
El usuario debe tener el permiso VIEW SERVER STATE.
session_id debe ser igual al Id. de sesión en el que se está ejecutando el comando. Para determinar el Id. de sesión ejecute la siguiente consulta:
SELECT @@spid;
Ejemplos
En el ejemplo siguiente se ejecuta DBCC INPUTBUFFER en una segunda conexión mientras una transacción larga se ejecuta en una conexión anterior.
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);