SET ANSI_DEFAULTS (Transact-SQL)

Controlla un gruppo di impostazioni di SQL Server che specificano collettivamente alcune funzionalità standard di ISO.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

SET ANSI_DEFAULTS { ON | OFF }

Osservazioni

SET ANSI_DEFAULTS è un'impostazione sul lato server non modificata dal client. Il client gestisce apposite impostazioni che per impostazione predefinita costituiscono l'opposto delle impostazioni del server. L'impostazione del server non deve essere modificata dagli utenti. Per modificare il comportamento del client, gli utenti devono utilizzare SQL_COPT_SS_PRESERVE_CURSORS. Per ulteriori informazioni, vedere SQLSetConnectAttr.

Quando è attivata (ON), questa opzione attiva le seguenti impostazioni di ISO:

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

 

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. Queste opzioni SET tuttavia non includono tutte le opzioni necessarie per la conformità allo standard ISO.

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. 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. Le altre opzioni SET sono ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) e NUMERIC_ROUNDABORT (OFF). Per ulteriori informazioni sulle impostazioni dell'opzione SET necessarie per viste indicizzate e indici nelle colonne calcolate, vedere "Considerazioni sull'utilizzo delle istruzioni SET" nell'argomento SET (Transact-SQL).

Il driver ODBC di SQL Server Native Client e il provider OLE DB SQL Server Native Client per SQL Server impostano automaticamente l'opzione ANSI_DEFAULTS su ON al momento della connessione. Il driver e il provider impostano quindi le opzioni CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS su OFF. È possibile configurare le opzioni SET CURSOR_CLOSE_ON_COMMIT e SET IMPLICIT_TRANSACTIONS impostandole su OFF nelle origini dei dati ODBC, negli attributi di connessione ODBC o nelle proprietà di connessione OLE DB che sono state impostate nell'applicazione prima della connessione a SQL Server. L'opzione predefinita per SET ANSI_DEFAULTS è OFF per le connessioni di applicazioni DB-Library.

Quando si imposta l'opzione SET ANSI_DEFAULTS, l'opzione SET QUOTED_IDENTIFIER viene impostata in fase di analisi, mentre le opzioni seguenti vengono impostate in fase di esecuzione:

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Autorizzazioni

È richiesta l'appartenenza al ruolo public.

Esempi

Nell'esempio seguente viene impostata l'opzione SET ANSI_DEFAULTS ON e viene utilizzata l'istruzione DBCC USEROPTIONS per visualizzare le impostazioni su cui ha effetto.

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