sp_set_session_context (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPonto de extremidade de análises SQL no Microsoft FabricWarehouse no Microsoft Fabric
Define um par chave-valor no contexto da sessão.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_set_session_context
[ @key = ] N'key'
, [ @value = ] 'value'
[ , [ @read_only = ] read_only ]
[ ; ]
Argumentos
@key [ = ] N'chave'
A chave sendo definida. @key é sysname sem padrão. O tamanho máximo da chave é 128 bytes.
@value [ = ] 'valor'
O valor para a chave especificada. @value é sql_variant, com um padrão de NULL
. Definir um valor de NULL
libera a memória. O tamanho máximo é 8.000 bytes.
@read_only [ = ] read_only
Um sinalizador que indica se a chave especificada pode ser alterada na conexão lógica. @read_only é bit com um padrão de 0
.
- Se
1
, o valor da chave especificada não puder ser alterado novamente nesta conexão lógica. - Se
0
, o valor pode ser alterado.
Permissões
Qualquer usuário pode definir o contexto de sessão de sua sessão.
Comentários
Como outros procedimentos armazenados, somente literais e variáveis (não expressões ou chamadas de função) podem ser passados como parâmetros.
O tamanho total do contexto da sessão é limitado a 1 MB. Se você definir um valor que faça com que esse limite seja excedido, a instrução falhará. Você pode monitorar o uso geral de memória em sys.dm_os_memory_objects (Transact-SQL).
Você pode monitorar o uso geral da memória consultando sys.dm_os_memory_cache_counters (Transact-SQL) da seguinte maneira:
SELECT * FROM sys.dm_os_memory_cache_counters WHERE type = 'CACHESTORE_SESSION_CONTEXT';
Exemplos
R. Definir e retornar um contexto de sessão
O exemplo a seguir mostra como definir e retornar a chave de contexto de uma sessão chamada language
, com um valor de English
.
EXEC sys.sp_set_session_context @key = N'language', @value = 'English';
SELECT SESSION_CONTEXT(N'language');
O exemplo a seguir demonstra o uso do sinalizador opcional somente leitura.
EXEC sys.sp_set_session_context @key = N'user_id', @value = 4, @read_only = 1;
B. Definir e retornar uma ID de correlação de cliente
O exemplo a seguir mostra como definir e recuperar uma chave de contexto de sessão chamada client_correlation_id
, com um valor de 12323ad
.
Defina o valor .
EXEC sp_set_session_context 'client_correlation_id', '12323ad';
Recupere o valor.
SELECT SESSION_CONTEXT(N'client_correlation_id');
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de