Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

SET CONTEXT_INFO (Transact-SQL)

Associe jusqu'à 128 octets d'informations binaires à la session ou à la connexion actuelle.

S'applique à : SQL Server (SQL Server 2008 jusqu'à la version actuelle).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

SET CONTEXT_INFO { binary_str | @binary_var }

binary_str

Représente une constante binary ou une constante implicitement convertible en binary à associer à la session ou à la connexion active.

@ binary_var

Représente une variable varbinary ou binary contenant une valeur de contexte à associer à la session ou à la connexion actuelle.

La méthode privilégiée pour récupérer les informations de contexte pour la session actuelle consiste à utiliser la fonction CONTEXT_INFO. Les informations relatives au contexte de la session sont stockées dans les colonnes context_info des vues système suivantes :

  • sys.dm_exec_requests

  • sys.dm_exec_sessions

  • sys.sysprocesses

SET CONTEXT_INFO ne peut pas être spécifié dans une fonction définie par l'utilisateur. Vous ne pouvez pas fournir une valeur NULL dans SET CONTEXT_INFO, car les vues contenant les valeurs n'autorisent pas ce type de valeurs.

SET CONTEXT_INFO n'accepte pas les expressions autres que les constantes ou les noms de variables. Pour définir les informations de contexte associées au résultat d'un appel de fonction, vous devez d'abord inclure le résultat de l'appel de la fonction dans une variable binary ou varbinary.

Lorsque vous spécifiez SET CONTEXT_INFO dans une procédure stockée ou un déclencheur, contrairement aux autres instructions SET, la nouvelle valeur définie pour les informations de contexte est conservée à l'issue de l'exécution de la procédure stockée ou du déclencheur.

A.Définition des informations de contexte à l'aide d'une constante

L'exemple ci-dessous illustre SET CONTEXT_INFO par la définition de la valeur et l'affichage des résultats. Notez que l'interrogation de sys.dm_exec_sessions nécessite les autorisations SELECT et VIEW SERVER STATE, ce qui n'est pas le cas pour la fonction CONTEXT_INFO.

SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info 
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO

B.Définition des informations de contexte à l'aide d'une fonction

L'exemple ci-dessous illustre l'utilisation du résultat d'une fonction pour définir la valeur de contexte, où la valeur de la fonction doit être placée d'abord dans une variable binary.

DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;

SELECT CONTEXT_INFO() AS MyContextInfo;
GO
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft