Partilhar via


sys.dm_exec_input_buffer (Transact-SQL)

Aplica-se a: SQL Server 2014 (12.x) SP2 e versões posteriores Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

Devolve informação sobre instruções submetidas a uma instância do SQL Server.

Sintaxe

sys.dm_exec_input_buffer ( session_id , request_id )

Arguments

session_id É o ID da sessão que executa o lote a ser consultado? session_id é pequeno. session_id podem ser obtidos dos seguintes objetos de gerenciamento dinâmico:

request_id O request_id de sys.dm_exec_requests. request_id é inteligência.

Tabela retornada

Nome da coluna Tipo de dados Description
event_type Nvarchar(256) O tipo de evento no buffer de entrada para o ID de sessão (SPID) dado.
parameters smallint Quaisquer parâmetros fornecidos para a declaração.
event_info nvarchar(max) O texto da instrução no buffer de entrada para o ID de sessão (SPID) indicado.

Permissions

No SQL Server, se o utilizador tiver permissão VIEW SERVER STATE, verá todas as sessões em execução na instância do SQL Server; caso contrário, o utilizador verá apenas a sessão atual.

Importante

Executar este DMV fora do SQL Server Management Studio contra o SQL Server sem permissões VIEW SERVER STATE (como num trigger, procedimento armazenado ou função) gera um erro de permissão na base de dados mestre.

Na Base de Dados SQL, se o utilizador for o proprietário da base de dados, verá todas as sessões em execução na Base de Dados SQL; caso contrário, o utilizador verá apenas a sessão atual.

Importante

Executar este DMV fora do SQL Server Management Studio contra a base de dados SQL Azure sem permissões do proprietário (como num trigger, procedimento armazenado ou função) gera um erro de permissão na base de dados mestre.

Permissões para SQL Server 2022 e posterior

Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Observações

Esta função de gestão dinâmica pode ser usada em conjunto com sys.dm_exec_sessions ou sys.dm_exec_requests através do CROSS APPLY.

Examples

A. Exemplo simples

O exemplo seguinte demonstra a passagem de um ID de sessão (SPID) e um ID de pedido à função.

SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO

B. Usar aplicação cruzada para informações adicionais

O exemplo seguinte lista o buffer de entrada para sessões de utilizador.

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

Ver também