SET ANSI_DEFAULTS (Transact-SQL)
Contrôle un groupe de paramètres SQL Server qui spécifie, de manière collective, certains comportements conformes à la norme ISO.
Syntaxe
SET ANSI_DEFAULTS { ON | OFF }
Notes
SET ANSI_DEFAULTS est un paramètre côté serveur que le client ne modifie pas. Le client gère ses propres paramètres. Par défaut, ces paramètres sont l'inverse du paramètre serveur. Les utilisateurs ne doivent pas modifier le paramètre serveur. Pour modifier le comportement du client, les utilisateurs doivent recourir à SQL_COPT_SS_PRESERVE_CURSORS. Pour plus d'informations, consultez SQLGetConnectAttr.
Lorsque cette option est activée (ON), elle active les paramètres ISO suivants :
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 |
|
Ensemble, ces options SET ISO définissent l'environnement de traitement des requêtes pour la durée de la session de travail de l'utilisateur, de l'exécution d'un déclencheur ou d'une procédure stockée. Toutefois, ces options SET ne contiennent pas toutes les options requises pour se conformer à la norme ISO.
Lorsque vous travaillez avec des index sur des colonnes calculées et des vues indexées, quatre options par défaut (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS et QUOTED_IDENTIFIER) doivent être activées (valeur ON). Ces options par défaut font partie des sept options SET qui doivent avoir les valeurs requises lors de la création et de la modification des index sur des colonnes calculées et vues indexées. Les autres options SET sont ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) et NUMERIC_ROUNDABORT (OFF). Pour plus d'informations sur les valeurs requises des options SET dans des vues indexées et index de colonnes calculées, voir « Remarques sur l'utilisation de l'instruction SET » dans la rubrique SET (Transact-SQL).
Le pilote ODBC SQL Server Native Client et le fournisseur OLE DB SQL Server Native Client pour SQL Server affectent automatiquement la valeur ON à ANSI_DEFAULTS lors de la connexion. Le pilote et le fournisseur désactivent ensuite CURSOR_CLOSE_ON_COMMIT et IMPLICIT_TRANSACTIONS. La désactivation de SET CURSOR_CLOSE_ON_COMMIT et SET IMPLICIT_TRANSACTIONS peut être configurée dans des sources de données ou des attributs de connexion ODBC, ou encore dans les propriétés de connexion OLE DB définies dans l'application avant la connexion à SQL Server. Dans le cas d'applications DB-Library, SET ANSI_DEFAULTS prend par défaut la valeur OFF.
Lorsque l'instruction SET ANSI_DEFAULTS est émise, la valeur de SET QUOTED_IDENTIFIER est définie au moment de l'analyse, et les options suivantes sont définies lors de l'exécution :
SET ANSI_NULLS |
SET ANSI_WARNINGS |
SET ANSI_NULL_DFLT_ON |
SET CURSOR_CLOSE_ON_COMMIT |
SET ANSI_PADDING |
SET IMPLICIT_TRANSACTIONS |
Autorisations
Nécessite l'appartenance en tant que membre au rôle public.
Exemple
L'exemple suivant définit SET ANSI_DEFAULTS ON et utilise l'instruction DBCC USEROPTIONS pour afficher les paramètres affectés.
-- SET ANSI_DEFAULTS ON.
SET ANSI_DEFAULTS ON
GO
-- Display the current settings.
DBCC USEROPTIONS
GO
-- SET ANSI_DEFAULTS OFF.
SET ANSI_DEFAULTS OFF
GO
Voir aussi