SESSION_CONTEXT (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Ponto de extremidade de análises SQL no Microsoft Fabric Warehouse no Microsoft Fabric
Retorna o valor da chave especificada no contexto de sessão atual. O valor é definido com o procedimento sp_set_session_context (Transact-SQL).
Convenções de sintaxe de Transact-SQL
Sintaxe
SESSION_CONTEXT(N'key')
Argumentos
'key'
A chave (tipo sysname) do valor que está sendo recuperado.
Tipo de retorno
sql_variant
Valor retornado
O valor associado à chave especificada no contexto de sessão ou NULL se nenhum valor foi definido para essa chave.
Permissões
Qualquer usuário pode ler o contexto de sessão de sua sessão.
Comentários
O comportamento de MARS de SESSION_CONTEXT é semelhante ao de CONTEXT_INFO. Se um lote MARS definir um par chave-valor, o novo valor não será retornado em outros lotes MARS na mesma conexão, a menos que eles tenham sido iniciados após a conclusão do lote que definiu o novo valor. Se vários lotes MARS estiverem ativos em uma conexão, os valores não poderão ser definidos como "read_only". Isso evita as condições de corrida e o não determinismo sobre qual valor "vence".
Exemplos
O exemplo simples a seguir define o valor de contexto de sessão para a chave user_id
como 4 e, em seguida, usa a função SESSION_CONTEXT para recuperar o valor.
EXEC sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
Consulte Também
sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
Segurança em nível de linha
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)