Options SET

Dans le tableau suivant, les options SET sont répertoriées par ordre alphabétique, accompagnées des options de base de données et de serveur prises en charge par MicrosoftSQL Server.

Option SET

Option de base de données

Option de serveur

Paramètre par défaut

SET ANSI_DEFAULTS (Transact-SQL)

Aucun

Aucune

Non applicable

SET ANSI_NULL_DFLT_OFF (Transact-SQL)

SET ANSI_NULL_DFLT_ON (Transact-SQL)

ANSI_NULL_DEFAULT

user options affecte une valeur par défaut

OFF

SET ANSI_NULLS (Transact-SQL)

ANSI_NULLS

user options affecte une valeur par défaut

OFF

SET ANSI_PADDING (Transact-SQL)

ANSI_PADDING

user options affecte une valeur par défaut

ON

SET ANSI_WARNINGS (Transact-SQL)

ANSI_WARNINGS

user options affecte une valeur par défaut

OFF

SET ARITHABORT (Transact-SQL)

ARITHABORT

user options affecte une valeur par défaut

OFF

SET ARITHIGNORE (Transact-SQL)

Aucune

user options affecte une valeur par défaut

OFF

SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

CONCAT_NULL_YIELDS_NULL

Aucune

OFF

SET CONTEXT_INFO (Transact-SQL)

Aucune

Aucune

OFF

SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)

CURSOR_CLOSE ON_COMMIT

user options affecte une valeur par défaut

OFF

SET DATEFIRST (Transact-SQL)

Aucune

Aucune

7

SET DATEFORMAT (Transact-SQL)

Aucune

Aucune

mdy

SET DEADLOCK_PRIORITY (Transact-SQL)

Aucune

Aucune

NORMAL

SET FIPS_FLAGGER (Transact-SQL)

Aucune

Aucune

OFF

SET FMTONLY (Transact-SQL)

Aucune

Aucune

OFF

SET FORCEPLAN (Transact-SQL)

Aucune

Aucune

OFF

SET IDENTITY_INSERT (Transact-SQL)

Aucune

 

OFF

SET IMPLICIT_TRANSACTIONS (Transact-SQL)

Aucune

user options affecte une valeur par défaut

OFF

SET LANGUAGE (Transact-SQL)

Aucune

Aucune

us_english

SET LOCK_TIMEOUT (Transact-SQL)

Aucune

Aucune

Illimité

SET NOCOUNT (Transact-SQL)

Aucune

user options affecte une valeur par défaut

OFF

SET NOEXEC (Transact-SQL)

Aucune

Aucune

OFF

SET NUMERIC_ROUNDABORT (Transact-SQL)

NUMERIC_ROUNDABORT

Aucune

OFF

SET OFFSETS (Transact-SQL)

Aucune

Aucune

OFF

SET PARSEONLY (Transact-SQL)

Aucune

Aucune

OFF

SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)

Aucune

query governor cost limit

OFF

SET QUOTED_IDENTIFIER (Transact-SQL)

identicateur entre guillemets

user options affecte une valeur par défaut

OFF

SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)

Aucune

Aucune

OFF

SET ROWCOUNT (Transact-SQL)

Aucune

Aucune

OFF

SET SHOWPLAN_ALL (Transact-SQL)

Aucune

Aucune

OFF

SET SHOWPLAN_TEXT (Transact-SQL)

Aucune

Aucune

OFF

SET SHOWPLAN_XML (Transact-SQL)

Aucune

Aucune

OFF

SET STATISTICS IO (Transact-SQL)

Aucune

Aucune

OFF

SET STATISTICS PROFILE (Transact-SQL)

Aucune

Aucune

OFF

SET STATISTICS TIME (Transact-SQL)

Aucune

Aucune

OFF

SET STATISTICS XML (Transact-SQL)

Aucune

Aucune

OFF

SET TEXTSIZE (Transact-SQL)

Aucune

Aucune

OFF

SET TRANSACTION ISOLATION LEVEL (Transact-SQL)

Aucune

Aucune

N/A

SET XACT_ABORT (Transact-SQL)

Aucune

Aucune

OFF

Options SET au moment de l'analyse et de l'exécution

Selon qu'il s'agira d'une option d'analyse ou d'exécution, une option SET ne prendra pas effet au même moment. Les options d'analyse prennent effet durant l'analyse, à mesure que les options sont rencontrées dans le texte, sans qu'il soit tenu compte des instructions de flux. Les options d'exécution prennent effet durant l'exécution du code dans lequel elles sont spécifiées. Si l'exécution échoue avant que l'instruction SET ait été traitée, l'option n'est pas définie. Si elle échoue après, l'option est définie.

Les options QUOTED_IDENTIFIER, PARSEONLY, OFFSETS et FIPS_FLAGGER sont des options d'analyse. Toutes les autres instructions SET sont des options d'exécution.

Les instructions SET QUOTED_IDENTIFIER et SET ANSI_NULLS qui sont exécutées dans un traitement ou dans une procédure stockée n'affectent pas ce traitement ou cette procédure stockée. Au lieu de cela, les paramètres utilisés pour les instructions du traitement ou de la procédure stockée sont ceux qui étaient en vigueur lors de la création de ce traitement ou de cette procédure stockée.

Durée des options SET

Cette section décrit la durée des options SET.

  • Les options SET définies par un utilisateur dans un script s'appliquent jusqu'à ce qu'une réinitialisation se produise ou jusqu'à ce que l'utilisateur mette fin à sa session sur le serveur.

  • Les options SET définies dans une procédure stockée ou dans un déclencheur s'appliquent jusqu'à ce que se produise une réinitialisation de cette procédure stockée ou ce déclencheur, ou jusqu'à ce que le contrôle soit rendu au code qui a appelé cette procédure stockée ou ce déclencheur.

  • Une connexion MARS conserve une liste des valeurs par défaut des options SET. Lorsqu'un traitement est exécuté sur cette connexion, les valeurs par défaut des options SET sont copiées dans l'environnement de la demande. Une fois le traitement terminé, l'environnement est recopié dans les valeurs par défaut de la session. De cette manière, plusieurs traitements exécutés en même temps sur la même connexion restent dans un environnement isolé d'options SET.

    [!REMARQUE]

    Sur les connexions MARS, si plusieurs traitements sont exécutés en même temps et modifient l'environnement d'exécution de traitement, l'environnement par défaut résultant pour la connexion dépend du dernier traitement exécuté.

  • Sauf si elles sont réinitialisées explicitement, les valeurs des options SET d'un code de niveau supérieur s'appliquent dans une procédure stockée ou dans un déclencheur.

  • Les options SET définies par un utilisateur dans un traitement SQL dynamique s'appliquent uniquement pour la durée de ce traitement.

  • Sauf si elles sont réinitialisées explicitement ou implicitement, les options SET définies pour une connexion s'appliquent après connexion à une autre base de données.

    [!REMARQUE]

    En outre, lorsqu'un utilisateur se connecte à une base de données, certaines options peuvent prendre automatiquement la valeur ON, en fonction des valeurs spécifiées lors de la précédente utilisation de l'option de serveur user options ou de celles qui sont appliquées à toutes les connexions ODBC et OLE DB.

Raccourci pour les options SET

Transact-SQL propose l'instruction SET ANSI_DEFAULTS comme raccourci pour la définition des options de la norme ISO suivantes :

  • SET ANSI_NULLS

  • SET CURSOR_CLOSE_ON_COMMIT

  • SET ANSI_NULL_DFLT_ON

  • SET IMPLICIT_TRANSACTIONS

  • SET ANSI_PADDING

  • SET QUOTED_IDENTIFIER

  • SET ANSI_WARNINGS

Le raccourci réinitialise les valeurs de ces options. Toute option définie après l'utilisation du raccourci prévaut sur la valeur correspondante définie par le raccourci.

[!REMARQUE]

SET ANSI_DEFAULTS ne définit pas toutes les options requises pour la conformité avec la norme ISO.