Partager via


CONTEXT_INFO (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Cette fonction renvoie la valeur context_info définie pour la session ou le traitement actif, ou dérivée à l’aide de l’instruction SET CONTEXT_INFO.

Conventions de la syntaxe Transact-SQL

Syntaxe

CONTEXT_INFO()  

Valeur retournée

La valeur context_info.

Si context_info n’était pas défini :

  • SQL Server retourne une valeur NULL.
  • SQL Database retourne un GUID unique spécifique à la session.

Remarques

La fonctionnalité MARS (Multiple Active Result Sets) permet aux applications d'exécuter simultanément plusieurs traitements ou requêtes sur la même connexion. Lorsqu'un des traitements d’une connexion MARS exécute la procédure SET CONTEXT_INFO, la fonction CONTEXT_INFO renvoie la nouvelle valeur de contexte lorsque la fonction CONTEXT_INFO est exécutée dans le même traitement que l'instruction SET. Si la fonction CONTEXT_INFO s’exécute dans un ou plusieurs autres traitements de la connexion, la fonction CONTEXT_INFO ne retourne pas la nouvelle valeur, sauf si ces traitements ont démarré une fois que le traitement qui a exécuté l’instruction SET est terminé.

Autorisations

Ne nécessite aucune autorisation particulière. Les vues système suivantes stockent les informations de contexte, mais l’interrogation directe de ces vues requiert les autorisations SELECT et VIEW SERVER STATE :

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

Exemples

Cet exemple simple attribue à 0x1256698456 la valeur context_info, puis utilise la fonction CONTEXT_INFO pour extraire la valeur.

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

Voir aussi

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