SET ANSI_DEFAULTS (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt 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

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

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_WARNINGSet 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)