SET ANSI_DEFAULTS (Transact-SQL)

Gäller för:SQL ServerAzureSQL Managed InstanceAzureSynapse AnalyticsAnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehousein Microsoft Fabric

Styr en grupp SQL Server-inställningar som tillsammans specificerar viss ISO-standardbeteende.

Transact-SQL syntaxkonventioner

Syntax

Syntax för SQL Server, serverlös SQL-pool i Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Syntax för Azure Synapse Analytics and Analytics Platform System (PDW)

SET ANSI_DEFAULTS ON

Remarks

ANSI_DEFAULTS är en server-side setting som kan aktivera beteendet för alla klientanslutningar. Klienten begär vanligtvis inställningen vid anslutning eller sessionsinitiering. Användare bör inte ändra serverinställningen.
För att ändra klientbeteendet bör användare använda klientspecifika metoder som SQL_COPT_SS_PRESERVE_CURSORS. För mer information, se SQLSetConnectAttr.

När den är aktiverad (PÅ) aktiverar detta alternativ följande ISO-inställningar:

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

 

Tillsammans definierar dessa ISO-standardalternativ SET frågebehandlingsmiljön under hela användarens arbetssession, en körande trigger eller en lagrad procedur. Dessa SET alternativ inkluderar dock inte alla alternativ som krävs för att uppfylla ISO-standarden.

När man hanterar index på beräknade kolumner, filtrerade index och indexerade vyer måste fyra av dessa standardinställningar (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, och QUOTED_IDENTIFIER) sättas till ON. Dessa standardinställningar är bland sju SET alternativ som måste tilldelas de nödvändiga värdena när du skapar och ändrar index på beräknade kolumner, filtrerade index och indexerade vyer. De andra SET alternativen är ARITHABORT (PÅ), CONCAT_NULL_YIELDS_NULL (PÅ) och NUMERIC_ROUNDABORT (AV). För mer information om de nödvändiga SET alternativinställningarna med indexerade vyer, filtrerade index och index på beräknade kolumner, se Överväganden när du använder SET satserna.

SQL Server Native Client ODBC-drivrutinen och SQL Server Native Client OLE DB-providern för SQL Server anges ANSI_DEFAULTS automatiskt till PÅ vid anslutning. Föraren och vårdgivaren ställer sedan in CURSOR_CLOSE_ON_COMMIT och IMPLICIT_TRANSACTIONS STÄNGER av. AV-inställningarna för CURSOR_CLOSE_ON_COMMIT och IMPLICIT_TRANSACTIONS kan konfigureras i ODBC-datakällor, i ODBC-anslutningsattribut eller i OLE DB-anslutningsegenskaper som är inställda i applikationen innan anslutning till SQL Server. Standardinställningen för ANSI_DEFAULTS är AV för anslutningar från DB-Library applikationer.

När SETSET ANSI_DEFAULTS utfärdas sätts QUOTED_IDENTIFIER vid parsetid, och följande alternativ ställs in vid exekveringstillfället:

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Permissions

Kräver medlemskap i offentlig roll.

Examples

Följande exempel ställer ANSI_DEFAULTS in på ON och använder satsen DBCC USEROPTIONS för att visa de inställningar som påverkas.

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

Se även

DBCC ANVÄNDARALTERNATIV (Transact-SQL)
SET Instruktioner (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)