@@OPTIONS (Transact-SQL)
Retourne des informations sur les options SET actuelles.
Conventions de la syntaxe Transact-SQL
Syntaxe
@@OPTIONS
Types des valeurs retournés
integer
Notes
Les options peuvent provenir de l'utilisation de la commande SET ou de la valeur sp_configure user options. Les valeurs de session configurées avec la commande SET remplacent les options sp_configure. De nombreux outils (tels que Management Studio) configurent automatiquement les options de définition. Chaque utilisateur dispose d'une fonction @@OPTIONS qui représente la configuration.
Vous pouvez modifier les options linguistiques et de traitement des requêtes pour une session utilisateur spécifique à l'aide de l'instruction SET. @@OPTIONS peut détecter uniquement les options qui ont la valeur ON ou OFF.
La fonction @@OPTIONS retourne un bitmap des options, converti en entier de base 10 (décimal). Les paramètres de bit sont stockés aux emplacements décrits dans la rubrique Configurer l'option de configuration du serveur user options.
Pour décoder la valeur @@OPTIONS, convertissez l'entier retourné par @@OPTIONS en binaire, puis recherchez les valeurs dans le tableau ci-dessus. Par exemple, si SELECT @@OPTIONS; retourne la valeur 5496, utilisez la calculatrice de programmation Windows (calc.exe) pour convertir la valeur décimale 5496 au format binaire. Le résultat est 1010101111000. Les caractères les plus à gauche (binaire 1, 2 et 4) sont 0, ce qui indique que IMPLICIT_TRANSACTIONS et CURSOR_CLOSE_ON_COMMIT sont désactivés. L'élément suivant (ANSI_WARNINGS dans la position 1000) est activé. Continuez à parcourir le bitmap et la liste d'options. Quand les options les plus à droite sont 0, elles sont tronquées par la conversion de type. Le bitmap 1010101111000 est en fait 001010101111000 et représente les 15 options.
Exemples
A.Démonstration de l'impact des modifications sur le comportement
L'exemple suivant illustre la différence de comportement de concaténation avec deux paramètres différents de l'option CONCAT_NULL_YIELDS_NULL.
SELECT @@OPTIONS AS OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS ResultWhen_OFF, @@OPTIONS AS OptionsValueWhen_OFF;
SET CONCAT_NULL_YIELDS_NULL ON;
SELECT 'abc' + NULL AS ResultWhen_ON, @@OPTIONS AS OptionsValueWhen_ON;
B.Test du paramètre NOCOUNT d'un client
L'exemple suivant définit NOCOUNT ON, puis teste la valeur de @@OPTIONS. L'option NOCOUNT ON empêche le message relatif au nombre de lignes affectées d'être renvoyé au client demandeur pour chaque instruction d'une session. La fonction @@OPTIONS a pour valeur 512 (0x0200). Ceci représente l'option NOCOUNT. Cet exemple teste si l'option NOCOUNT est activée sur le client. Vous pouvez vous en servir pour rechercher les différences de performances sur un ordinateur client.
SET NOCOUNT ON
IF @@OPTIONS & 512 > 0
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)
Voir aussi
Référence
Fonctions de configuration (Transact-SQL)
Concepts
Configurer l'option de configuration du serveur user options