SET ANSI_DEFAULTS (Transact-SQL)

Gilt für: SQL Server Azure SQL verwaltete Instanz Azure Synapse Analytics Platform System (PDW)-SQL-Analyseendpunkt in Microsoft FabricWarehouse in Microsoft Fabric Fabric

Steuert eine Gruppe von SQL Server-Einstellungen, die zusammen einen bestimmten Teil des ISO-Standardverhaltens angeben.

Transact-SQL-Syntaxkonventionen

Syntax

Syntax für SQL Server und serverlose SQL-Pools in Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Syntax für Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

SET ANSI_DEFAULTS ON

Hinweise

ANSI_DEFAULTS ist eine serverseitige Einstellung, die das Verhalten für alle Client-Verbindungen aktivieren kann. Der Client fordert die Einstellung in der Regel bei der Initialisierung der Verbindung oder Sitzung an. Benutzer sollten die Servereinstellung nicht ändern.
Zum Ändern des Clientverhaltens sollten Benutzer die clientspezifischen Methoden wie SQL_COPT_SS_PRESERVE_CURSORS verwenden. Weitere Informationen finden Sie unter SQLSetConnectAttr.

Wird die Option aktiviert (ON), werden die folgenden ISO-Einstellungen aktiviert:

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

 

Zusammen definieren diese ISO-Standardoptionen SET die Abfrageverarbeitungsumgebung für die Dauer der Arbeitssitzung des Benutzers, eines laufenden Triggers oder einer gespeicherten Prozedur. Diese SET Optionen umfassen jedoch nicht alle erforderlichen Optionen, um den ISO-Standard zu erfüllen.

Beim Umgang mit Indizes für berechnete Spalten, gefilterte Indizes und indizierte Ansichten müssen vier dieser Standardwerte (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGSund QUOTED_IDENTIFIER) auf EIN festgelegt werden. Diese Standardwerte gehören zu sieben SET Optionen, denen die erforderlichen Werte zugewiesen werden müssen, wenn Sie Indizes auf berechneten Spalten, gefilterten Indizes und indizierten Ansichten erstellen und ändern. Die anderen SET Optionen sind ARITHABORT (AN), (AN) CONCAT_NULL_YIELDS_NULL und NUMERIC_ROUNDABORT (AUS). Weitere Informationen zu den erforderlichen SET Optionseinstellungen mit indizierten Ansichten, gefilterten Indizes und Indizes auf berechneten Spalten finden Sie unter Überlegungen bei der Verwendung der SET Anweisungen.

Der SQL Server Native Client ODBC-Treiber und der OLE DB-Anbieter für SQL Server nativer Client für SQL Server werden beim Herstellen einer Verbindung automatisch auf EIN festgelegt ANSI_DEFAULTS . Der Fahrer und der Anbieter stellen CURSOR_CLOSE_ON_COMMIT dann auf IMPLICIT_TRANSACTIONS AUS. Die OFF-Einstellungen für CURSOR_CLOSE_ON_COMMIT und IMPLICIT_TRANSACTIONS können in ODBC-Datenquellen, in ODBC-Verbindungsattributen oder in OLE DB-Verbindungseigenschaften konfiguriert werden, die in der Anwendung festgelegt werden, bevor die Verbindung mit SQL Server hergestellt wird. Der Standardwert von ANSI_DEFAULTS lautet OFF für Verbindungen von DB-Library-Anwendungen.

Wenn SETSET ANSI_DEFAULTS ausgegeben wird, QUOTED_IDENTIFIER wird zur Parsezeit gesetzt, und die folgenden Optionen werden zur Ausführungszeit gesetzt:

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Berechtigungen

Erfordert die Mitgliedschaft in der public -Rolle.

Beispiele

Das folgende Beispiel setzt auf ON und ANSI_DEFAULTS verwendet die DBCC USEROPTIONS Anweisung, um die betroffenen Einstellungen anzuzeigen.

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

Weitere Informationen

DBCC-BENUTZEROPTIONEN (Transact-SQL)
SET Anweisungen (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)