Compartilhar via


CONTEXT_INFO (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Essa função retorna o valor context_info definido para a sessão ou lote atual ou derivado por meio do uso da instrução SET CONTEXT_INFO.

Convenções de sintaxe de Transact-SQL

Sintaxe

CONTEXT_INFO()  

Valor retornado

O valor context_info.

Se context_info não foi definido:

  • SQL Server retorna NULL.
  • Banco de Dados SQL retorna um GUID exclusivo específico da sessão.

Comentários

O recurso MARS (Vários Conjuntos de Resultados Ativos) permite que os aplicativos sejam executados em vários lotes, ou solicitações, ao mesmo tempo na mesma conexão. Quando um dos lotes de conexão MARS executa SET CONTEXT_INFO, a função CONTEXT_INFO retorna o valor do novo contexto, quando a função CONTEXT_INFO é executada no mesmo lote que a instrução SET. Se a função CONTEXT_INFO é executada em um ou mais dos outros lotes de conexão, a função CONTEXT_INFO não retorna o novo valor, a menos que os lotes iniciados após a conclusão do lote que executou a instrução SET.

Permissões

Não requer nenhuma permissão especial. As seguintes exibições do sistema armazenam as informações de contexto, mas consultar essas exibições diretamente requer permissões SELECT e VIEW SERVER STATE:

  • sys.dm_exec_requests
  • sys.dm_exec_sessions
  • sys.sysprocesses

Exemplos

Este exemplo simples define o valor context_info como 0x1256698456 e, em seguida, usa a função CONTEXT_INFO para recuperar o valor.

SET CONTEXT_INFO 0x1256698456;  
GO  
SELECT CONTEXT_INFO();  
GO  

Veja também

SET CONTEXT_INFO (Transact-SQL)SESSION_CONTEXT (Transact-SQL)
sp_set_session_context (Transact-SQL)