SET ANSI_DEFAULTS (Transact-SQL)SET ANSI_DEFAULTS (Transact-SQL)

SI APPLICA A: sìSQL Server noDatabase SQL di Azure sìAzure SQL Data Warehouse sìParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Controlla un gruppo di impostazioni di SQL ServerSQL Server che specificano collettivamente alcune funzionalità standard di ISO.Controls a group of SQL ServerSQL Server settings that collectively specify some ISO standard behavior.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

-- Syntax for SQL Server

SET ANSI_DEFAULTS { ON | OFF }
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse

SET ANSI_DEFAULTS ON

RemarksRemarks

ANSI_DEFAULTS è un'impostazione sul lato server che il client non modifica.ANSI_DEFAULTS is a server-side setting that the client does not modify. Il client gestisce apposite impostazioniThe client manages its own settings. che per impostazione predefinita costituiscono l'opposto delle impostazioni del server.By default, these settings are the opposite of the server setting. L'impostazione del server non deve essere modificata dagli utenti.Users should not modify the server setting. Per modificare il comportamento del client, gli utenti devono utilizzare SQL_COPT_SS_PRESERVE_CURSORS.To change client the behavior, users should use the SQL_COPT_SS_PRESERVE_CURSORS. Per altre informazioni, vedere SQLSetConnectAttr.For more information, see SQLSetConnectAttr.

Quando è attivata (ON), questa opzione attiva le seguenti impostazioni di ISO:When enabled (ON), this option enables the following ISO settings:

SET ANSI_NULLSSET ANSI_NULLS SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON SET IMPLICIT_TRANSACTIONSSET IMPLICIT_TRANSACTIONS
SET ANSI_PADDINGSET ANSI_PADDING SET QUOTED_IDENTIFIERSET QUOTED_IDENTIFIER
SET ANSI_WARNINGSSET ANSI_WARNINGS

L'insieme di queste opzioni SET ISO standard definisce l'ambiente di elaborazione della query per l'intera durata della sessione di lavoro dell'utente o dell'esecuzione di un trigger o di una stored procedure.Together, these ISO standard SET options define the query processing environment for the duration of the work session of the user, a running trigger, or a stored procedure. Queste opzioni SET tuttavia non includono tutte le opzioni necessarie per la conformità allo standard ISO.However, these SET options do not include all the options required to comply with the ISO standard.

Quando si utilizzano indici in colonne calcolate e viste indicizzate, quattro delle opzioni predefinite, ovvero ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS e QUOTED_IDENTIFIER, devono essere impostate su ON.When dealing with indexes on computed columns and indexed views, four of these defaults (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, and QUOTED_IDENTIFIER) must be set to ON. Queste opzioni predefinite fanno parte delle sette opzioni SET a cui devono essere assegnati i valori richiesti durante la creazione e la modifica degli indici in colonne calcolate e viste indicizzate.These defaults are among seven SET options that must be assigned the required values when you are creating and changing indexes on computed columns and indexed views. Le altre opzioni SET sono ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) e NUMERIC_ROUNDABORT (OFF).The other SET options are ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON), and NUMERIC_ROUNDABORT (OFF). Per altre informazioni sulle impostazioni dell'opzione SET necessarie per viste indicizzate e indici nelle colonne calcolate, vedere Considerazioni sull'uso delle istruzioni SET.For more information about the required SET option settings with indexed views and indexes on computed columns, see Considerations When You Use the SET Statements.

Il driver ODBC di SQL ServerSQL Server Native Client e il provider OLE DB di SQL ServerSQL Server Native Client per SQL ServerSQL Server impostano automaticamente l'opzione ANSI_DEFAULTS su ON al momento della connessione.The SQL ServerSQL Server Native Client ODBC driver and SQL ServerSQL Server Native Client OLE DB Provider for SQL ServerSQL Server automatically set ANSI_DEFAULTS to ON when connecting. Il driver e il provider impostano quindi le opzioni CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS su OFF.The driver and Provider then set CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS to OFF. È possibile configurare le opzioni CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS impostandole su OFF nelle origini dati ODBC, negli attributi di connessione ODBC o nelle proprietà di connessione OLE DB impostate nell'applicazione prima della connessione a SQL ServerSQL Server.The OFF settings for CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS can be configured in ODBC data sources, in ODBC connection attributes, or in OLE DB connection properties that are set in the application before connecting to SQL ServerSQL Server. L'impostazione predefinita per ANSI_DEFAULTS è OFF per le connessioni da applicazioni DB-Library.The default for ANSI_DEFAULTS is OFF for connections from DB-Library applications.

Quando si esegue SET ANSI_DEFAULTS, l'opzione QUOTED_IDENTIFIER viene impostata in fase di analisi e le opzioni seguenti vengono impostate in fase di esecuzione:When SET ANSI_DEFAULTS is issued, QUOTED_IDENTIFIER is set at parse time, and the following options are set at execute time:

SET ANSI_NULLSSET ANSI_NULLS SET ANSI_WARNINGSSET ANSI_WARNINGS
SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT
SET ANSI_PADDINGSET ANSI_PADDING SET IMPLICIT_TRANSACTIONSSET IMPLICIT_TRANSACTIONS

AutorizzazioniPermissions

È richiesta l'appartenenza al ruolo public .Requires membership in the public role.

EsempiExamples

Nell'esempio seguente l'opzione ANSI_DEFAULTS viene impostata su ON e viene usata l'istruzione DBCC USEROPTIONS per visualizzare le impostazioni interessate.The following example sets ANSI_DEFAULTS to ON and uses the DBCC USEROPTIONS statement to display the settings that are affected.

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

Vedere ancheSee Also

DBCC USEROPTIONS (Transact-SQL) DBCC USEROPTIONS (Transact-SQL)
Istruzioni SET (Transact-SQL) SET Statements (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL) SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL) SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL) SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL) SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL) SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL) SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)SET QUOTED_IDENTIFIER (Transact-SQL)