Partage via


SESSION_CONTEXT (Transact-SQL)

S’applique à : point de terminaison d’analytique SQL Server 2016 (13.x) et ultérieur Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics SQL Analytics dans Microsoft Fabric Warehouse

Renvoie la valeur de la clé spécifiée dans le contexte de la session en cours. La valeur est définie à l’aide de la procédure sp_set_session_context (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

SESSION_CONTEXT(N'key')  

Arguments

'key'
Clé (type sysname) de la valeur en cours de récupération.

Type de retour

sql_variant

Valeur de retour

Valeur associée à la clé spécifiée dans le contexte de session, ou NULL si aucune valeur n’a été définie pour cette clé.

Autorisations

Tout utilisateur peut lire le contexte de session pour sa session.

Remarques

Le comportement MARS de SESSION_CONTEXT est similaire à celui de CONTEXT_INFO. Si un lot MARS définit une paire clé-valeur, la nouvelle valeur n’est pas renvoyée dans d’autres lots MARS sur la même connexion, sauf s’ils ont démarré après le lot qui a défini la nouvelle valeur. Si plusieurs lots MARS sont actifs sur une connexion, les valeurs ne peuvent pas être définies comme « read_only ». Cela empêche les conditions de concurrence et le non-déterminisme quant à quelle valeur « gagne ».

Exemples

L’exemple simple suivant attribue la valeur 4 au contexte de session pour la clé user_id, puis utilise la fonction SESSION_CONTEXT pour extraire la valeur.

EXEC sp_set_session_context 'user_id', 4;  
SELECT SESSION_CONTEXT(N'user_id');  

Voir aussi

sp_set_session_context (Transact-SQL)
CURRENT_TRANSACTION_ID (Transact-SQL)
Sécurité au niveau des lignes
CONTEXT_INFO (Transact-SQL)
SET CONTEXT_INFO (Transact-SQL)