sys.dm_exec_input_buffer (Transact-SQL)
Se aplica a: SQL Server 2014 Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)
Devuelve información sobre las instrucciones enviadas a una instancia de SQL Server.
Sintaxis
sys.dm_exec_input_buffer ( session_id , request_id )
Argumentos
session_id Es el identificador de sesión que ejecuta el lote que se va a buscar. session_id es smallint. session_id puede obtenerse a partir de los siguientes objetos de administración dinámica:
request_id el request_id de sys.dm_exec_requests. request_id es int.
Tabla devuelta
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
event_type | nvarchar(256) | Tipo de evento en el búfer de entrada para el spid especificado. |
parameters | smallint | Todos los parámetros proporcionados para la instrucción . |
event_info | nvarchar(max) | Texto de la instrucción en el búfer de entrada del spid especificado. |
Permisos
En SQL Server, si el usuario tiene el permiso VIEW SERVER STATE, el usuario verá todas las sesiones en ejecución en la instancia de SQL Server; De lo contrario, el usuario verá solo la sesión actual.
Importante
Al ejecutar esta DMV fuera de SQL Server Management Studio en SQL Server sin permisos VIEW SERVER STATE (por ejemplo, en un desencadenador, procedimiento almacenado o función) se produce un error de permiso en la base de datos maestra.
En SQL Database, si el usuario es el propietario de la base de datos, el usuario verá todas las sesiones en ejecución en SQL Database; De lo contrario, el usuario verá solo la sesión actual.
Importante
La ejecución de esta DMV fuera de SQL Server Management Studio en Azure SQL Database sin permisos de propietario (por ejemplo, en un desencadenador, procedimiento almacenado o función) produce un error de permiso en la base de datos maestra.
Permisos para SQL Server 2022 y versiones posteriores
Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.
Comentarios
Esta función de administración dinámica se puede usar junto con sys.dm_exec_sessions o sys.dm_exec_requests mediante CROSS APPLY.
Ejemplos
A. Ejemplo sencillo
En el ejemplo siguiente se muestra cómo pasar un identificador de sesión (SPID) y un identificador de solicitud a la función.
SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO
B. Uso de la aplicación cruzada a información adicional
En el ejemplo siguiente se muestra el búfer de entrada para las sesiones de usuario.
SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.is_user_process = 1;
GO