SET ANSI_DEFAULTS (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric Warehouse in Microsoft Fabric

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

Convenzioni relative alla sintassi Transact-SQL

Sintassi

Sintassi per SQL Server, pool SQL serverless in Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Sintassi per Azure Synapse Analytics e piattaforma di strumenti analitici (PDW)

SET ANSI_DEFAULTS ON

Osservazioni:

ANSI_DEFAULTS è un'impostazione lato server che può abilitare il comportamento per tutte le connessioni client. Il client richiede in genere l'impostazione al momento dell'inizializzazione della connessione o della sessione. L'impostazione del server non deve essere modificata dagli utenti.
Per modificare il comportamento del client, gli utenti devono usare metodi specifici del client come SQL_COPT_SS_PRESERVE_CURSORS. Per altre 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

 

Insieme, queste opzioni standard SET ISO definiscono l'ambiente di elaborazione delle query per la durata della sessione di lavoro dell'utente, un trigger in esecuzione o una procedura memorizzata. Tuttavia, queste SET opzioni non includono tutte le opzioni richieste per conformarsi allo standard ISO.

Quando si gestiscono indici su colonne calcolate, indici filtrati e viste indicizzate, quattro di queste impostazioni predefinite (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGSe QUOTED_IDENTIFIER) devono essere impostate su ON. Questi valori predefiniti sono tra le sette SET opzioni che devono essere assegnati ai valori richiesti quando si creano e si modificano indici su colonne calcolate, indici filtrati e viste indicizzate. Le altre SET opzioni sono ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) e NUMERIC_ROUNDABORT (OFF). Per maggiori informazioni sulle impostazioni di opzione richieste SET con viste indicizzate, indici filtrati e indici su colonne calcolate, consulta Considerazioni quando usi le SET Istruzioni.

Il driver ODBC di SQL Server Native Client e il provider OLE DB di SQL Server Native Client per SQL Server vengono impostati automaticamente su ANSI_DEFAULTS ON durante la connessione. Il conducente e il fornitore impostano CURSOR_CLOSE_ON_COMMIT quindi e IMPLICIT_TRANSACTIONS su OFF. Le impostazioni OFF per CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS possono essere configurate nelle origini dei dati ODBC, negli attributi di connessione ODBC o nelle proprietà di connessione OLE DB impostate nell'applicazione prima della connessione a SQL Server. L'impostazione predefinita per ANSI_DEFAULTS è OFF per le connessioni da applicazioni DB-Library.

Quando SETSET ANSI_DEFAULTS viene emesso, QUOTED_IDENTIFIER viene impostato in tempo di analisi e le seguenti opzioni sono impostate in tempo 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

Il seguente esempio imposta ANSI_DEFAULTS su ON e utilizza l'istruzione DBCC USEROPTIONS per mostrare le impostazioni interessate.

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

Vedi anche

DBCC USEROPTIONS (Transact-SQL)
SET Istruzioni (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)