SET CONTEXT_INFO (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Associa até 128 bytes de informações binárias à sessão ou conexão atual.
Convenções de sintaxe de Transact-SQL
Sintaxe
SET CONTEXT_INFO { binary_str | @binary_var }
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
binary_str
É uma constante binary, ou uma constante que pode ser convertida implicitamente em binary, a ser associada à sessão ou conexão atual.
@binary_var
É uma variável varbinary ou binary que mantém um valor de contexto a ser associado à sessão ou conexão atual.
Comentários
O modo preferido de recuperar as informações de contexto para a sessão atual é usar a função CONTEXT_INFO. As informações de contexto de sessão também são armazenadas nas colunas context_info nas seguintes exibições de sistema:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
SET CONTEXT_INFO não pode ser especificado em uma função definida pelo usuário. Não é possível fornecer um valor nulo para SET CONTEXT_INFO porque as exibições que mantêm os valores não permitem valores nulos.
SET CONTEXT_INFO não aceita expressões diferentes de constantes ou nomes de variável. Para definir as informações de contexto para o resultado de uma chamada de função, é necessário primeiro incluir o resultado da chamada de função em uma variável binary ou varbinary.
Ao emitir SET CONTEXT_INFO em um procedimento armazenado ou disparador, diferentemente de outras instruções SET, o novo valor definido para as informações de contexto persiste depois que o procedimento armazenado ou disparador é concluído.
Exemplos
a. Definindo informações de contexto com o uso de uma constante
O exemplo a seguir demonstra SET CONTEXT_INFO
definindo o valor e exibindo os resultados. Observe que consultar sys.dm_exec_sessions
requer as permissões SELECT e VIEW SERVER STATE, enquanto que usar a função CONTEXT_INFO não requer.
SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B. Definindo informações de contexto com o uso de uma função
O exemplo a seguir demonstra o uso da saída de uma função para definir o valor de contexto, em que o valor da função deve ser colocado primeiro em uma variável binary.
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO
Consulte Também
Segurança em Nível de LinhaInstruções SET (Transact-SQL)
CONTEXT_INFO (Transact-SQL)
SESSION_CONTEXT (Transact-SQL)
sys.dm_exec_requests (Transact-SQL)
sys.dm_exec_sessions (Transact-SQL)
sp_set_session_context (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: ao longo de 2024, vamos eliminar problemas do GitHub como o mecanismo de comentários para conteúdo e substituí-lo por um novo sistema de comentários. Para obter mais informações, consulte:Enviar e exibir comentários de