sys.dm_exec_input_buffer (Transact-SQL)

APLICA-SE A: SQL Server 2014 Banco de Dados SQL do Azure Azure Synapse Analytics Parallel Data Warehouse

Retorna informações sobre as instruções enviadas a uma instância do SQL Server .

Sintaxe

sys.dm_exec_input_buffer ( session_id , request_id )

Argumentos

session_id É a ID da sessão que executa o lote a ser pesquisado. session_id é smallint. session_id pode ser obtido dos seguintes objetos de gerenciamento dinâmico:

request_id O request_id de Sys.dm_exec_requests. request_id é int.

Tabela retornada

Nome da coluna Tipo de dados Descrição
event_type nvarchar(256) O tipo de evento no buffer de entrada para o SPID especificado.
parameters smallint Todos os parâmetros fornecidos para a instrução.
event_info nvarchar(max) O texto da instrução no buffer de entrada para o SPID especificado.

Permissões

Em SQL Server , se o usuário tiver a permissão View Server State, o usuário verá todas as sessões em execução na instância do SQL Server ; caso contrário, o usuário verá apenas a sessão atual.

Importante

a execução dessa DMV fora de SQL Server Management Studio contra SQL Server sem exibir permissões de estado do servidor (como em um gatilho, procedimento armazenado ou função) gera um erro de permissão no banco de dados mestre.

Em Banco de Dados SQL , se o usuário for o proprietário do banco de dados, o usuário verá todas as sessões em execução no Banco de Dados SQL ; caso contrário, o usuário verá apenas a sessão atual.

Importante

a execução dessa DMV fora de SQL Server Management Studio contra Banco de Dados SQL do Azure sem permissões de proprietário (como em um gatilho, procedimento armazenado ou função) gera um erro de permissão no banco de dados mestre.

Comentários

Essa função de gerenciamento dinâmico pode ser usada em conjunto com sys.dm_exec_sessions ou sys.dm_exec_requests fazendo a aplicação cruzada.

Exemplos

a. Exemplo simples

O exemplo a seguir demonstra a passagem de uma ID de sessão (SPID) e uma ID de solicitação para a função.

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

B. Usando Cross aplicar a informações adicionais

O exemplo a seguir lista o buffer de entrada para sessões de usuário.

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

Consulte Também