SET ANSI_DEFAULTS (Transact-SQL)
S’applique à : point de terminaison d’analytique SQL Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL dans Microsoft Fabric Warehouse dans Microsoft Fabric
Contrôle un groupe de paramètres SQL Server qui spécifie, de manière collective, certains comportements conformes à la norme ISO.
Conventions de la syntaxe Transact-SQL
Syntaxe
Syntaxe pour SQL Server et Pool SQL serverless dans Azure Synapse Analytics, Microsoft Fabric
SET ANSI_DEFAULTS { ON | OFF }
Syntaxe pour Azure Synapse Analytics et Analytics Platform System (PDW)
SET ANSI_DEFAULTS ON
Notes
ANSI_DEFAULTS est un paramètre côté serveur qui peut activer le comportement de toutes les connexions clientes. Le client demande généralement le paramètre lors de l’initialisation de la connexion ou de la session. Les utilisateurs ne doivent pas modifier le paramètre serveur.
Pour modifier le comportement du client, les utilisateurs doivent recourir aux méthodes spécifiques au client comme SQL_COPT_SS_PRESERVE_CURSORS
. Pour plus d’informations, consultez SQLSetConnectAttr.
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 traitez des index sur des colonnes calculées, des index filtrés et des vues indexées, quatre de ces valeurs par défaut (ANSI_NULLS
, ANSI_PADDING
, ANSI_WARNINGS
et QUOTED_IDENTIFIER
) doivent être définies sur ON. Ces valeurs par défaut sont parmi sept options SET qui doivent être affectées aux valeurs requises lorsque vous créez et modifiez des index sur des colonnes calculées, des index filtrés et des 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 paramètres d’option SET requis avec des vues indexées, des index filtrés et des index sur des colonnes calculées, consultez Considérations relatives à l’utilisation des instructions SET.
Le pilote ODBC SQL Server Native Client et le fournisseur OLE DB SQL Server Native Client pour SQL Server attribuent 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. Les paramètres OFF pour CURSOR_CLOSE_ON_COMMIT
et IMPLICIT_TRANSACTIONS
peuvent être configurés dans les sources de données ou les attributs de connexion ODBC ainsi que dans les propriétés de connexion OLE DB définies dans l’application avant la connexion à SQL Server. La valeur par défaut de ANSI_DEFAULTS
est OFF pour les connexions à partir d’applications DB-Library.
Quand SET ANSI_DEFAULTS est émis, la valeur de QUOTED_IDENTIFIER est définie au moment de l’analyse, et les options suivantes sont définies au moment 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 au rôle public .
Exemples
L’exemple suivant définit ANSI_DEFAULTS avec la valeur 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
DBCC USEROPTIONS (Transact-SQL)
Instructions SET (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)