SET ANSI_DEFAULTS (Transact-SQL)

S’applique à : pointde 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 ce comportement pour toutes les connexions clients. 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 ISO SET définissent l’environnement de traitement des requêtes pour la durée de la session de travail de l’utilisateur, un déclencheur en cours de marche ou une procédure stockée. Cependant, ces SET options n’incluent 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 font partie des sept SET options qui doivent être attribuées lors de la création et de la modification d’index sur les colonnes calculées, les index filtrés et les vues indexées. Les autres SET options sont ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) et NUMERIC_ROUNDABORT (OFF). Pour plus d’informations sur les paramètres d’option requis SET avec les vues indexées, les index filtrés et les index sur les colonnes calculées, voir Considérations à considérer lors de l’utilisation des SET instructions.

Le pilote ODBC SQL Server Native Client et le fournisseur OLE DB SQL Server Native Client pour SQL Server sont automatiquement définis ANSI_DEFAULTS sur ON lors de la connexion. Le conducteur et le fournisseur mettent CURSOR_CLOSE_ON_COMMITIMPLICIT_TRANSACTIONS alors et sur OFF. 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.

Lorsque SETSET ANSI_DEFAULTS l’émission est émise, QUOTED_IDENTIFIER elle 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 se met ANSI_DEFAULTS sur 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)
SET Instructions (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)