Condividi tramite


Opzioni SET

Nella tabella seguente vengono elencate in ordine alfabetico le opzioni SET e le opzioni del server e del database corrispondenti supportate in Microsoft SQL Server.

Opzione SET

Opzione del database

Opzione del server

Impostazione predefinita

SET ANSI_DEFAULTS (Transact-SQL)

Nessuna

Nessuna

Non applicabile

SET ANSI_NULL_DFLT_OFF (Transact-SQL)

SET ANSI_NULL_DFLT_ON (Transact-SQL)

ANSI_NULL_DEFAULT

user options assegna un'impostazione predefinita

OFF

SET ANSI_NULLS (Transact-SQL)

ANSI_NULLS

user options assegna un'impostazione predefinita

OFF

SET ANSI_PADDING (Transact-SQL)

ANSI_PADDING

user options assegna un'impostazione predefinita

ON

SET ANSI_WARNINGS (Transact-SQL)

ANSI_WARNINGS

user options assegna un'impostazione predefinita

OFF

SET ARITHABORT (Transact-SQL)

ARITHABORT

user options assegna un'impostazione predefinita

OFF

SET ARITHIGNORE (Transact-SQL)

Nessuna

user options assegna un'impostazione predefinita

OFF

SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

CONCAT_NULL_YIELDS_NULL

Nessuna

OFF

SET CONTEXT_INFO (Transact-SQL)

Nessuna

Nessuna

OFF

SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)

CURSOR_CLOSE ON_COMMIT

user options assegna un'impostazione predefinita

OFF

SET DATEFIRST (Transact-SQL)

Nessuna

Nessuna

7

SET DATEFORMAT (Transact-SQL)

Nessuna

Nessuna

mdy

SET DEADLOCK_PRIORITY (Transact-SQL)

Nessuna

Nessuna

NORMAL

SET FIPS_FLAGGER (Transact-SQL)

Nessuna

Nessuna

OFF

SET FMTONLY (Transact-SQL)

Nessuna

Nessuna

OFF

SET FORCEPLAN (Transact-SQL)

Nessuna

Nessuna

OFF

SET IDENTITY_INSERT (Transact-SQL)

Nessuna

 

OFF

SET IMPLICIT_TRANSACTIONS (Transact-SQL)

Nessuna

user options assegna un'impostazione predefinita

OFF

SET LANGUAGE (Transact-SQL)

Nessuna

Nessuna

us_english

SET LOCK_TIMEOUT (Transact-SQL)

Nessuna

Nessuna

Nessun limite

SET NOCOUNT (Transact-SQL)

Nessuna

user options assegna un'impostazione predefinita

OFF

SET NOEXEC (Transact-SQL)

Nessuna

Nessuna

OFF

SET NUMERIC_ROUNDABORT (Transact-SQL)

NUMERIC_ROUNDABORT

Nessuna

OFF

SET OFFSETS (Transact-SQL)

Nessuna

Nessuna

OFF

SET PARSEONLY (Transact-SQL)

Nessuna

Nessuna

OFF

SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)

Nessuna

query governor cost limit

OFF

SET QUOTED_IDENTIFIER (Transact-SQL)

quoted identifier

user options assegna un'impostazione predefinita

OFF

SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)

Nessuna

Nessuna

OFF

SET ROWCOUNT (Transact-SQL)

Nessuna

Nessuna

OFF

SET SHOWPLAN_ALL (Transact-SQL)

Nessuna

Nessuna

OFF

SET SHOWPLAN_TEXT (Transact-SQL)

Nessuna

Nessuna

OFF

SET SHOWPLAN_XML (Transact-SQL)

Nessuna

Nessuna

OFF

SET STATISTICS IO (Transact-SQL)

Nessuna

Nessuna

OFF

SET STATISTICS PROFILE (Transact-SQL)

Nessuna

Nessuna

OFF

SET STATISTICS TIME (Transact-SQL)

Nessuna

Nessuna

OFF

SET STATISTICS XML (Transact-SQL)

Nessuna

Nessuna

OFF

SET TEXTSIZE (Transact-SQL)

Nessuna

Nessuna

OFF

SET TRANSACTION ISOLATION LEVEL (Transact-SQL)

Nessuna

Nessuna

n/d

SET XACT_ABORT (Transact-SQL)

Nessuna

Nessuna

OFF

Opzioni SET della fase di analisi e della fase di esecuzione

Il punto in cui viene applicata un'opzione SET varia a seconda che si tratti di un'opzione della fase di analisi o della fase di esecuzione. Le opzioni della fase di analisi vengono applicate durante l'analisi man mano che vengono rilevate nel testo e indipendentemente dalle istruzioni per il controllo di flusso. Le opzioni della fase di esecuzione vengono applicate durante l'esecuzione del codice in cui sono specificate. Se durante l'esecuzione si verifica un errore prima dell'esecuzione dell'istruzione SET, l'opzione non viene impostata. Se invece l'errore si verifica dopo l'esecuzione dell'istruzione SET, l'opzione viene impostata.

QUOTED_IDENTIFIER, PARSEONLY, OFFSETS e FIPS_FLAGGER sono opzioni della fase di analisi. Tutte le altre opzioni SET sono opzioni della fase di esecuzione.

Le istruzioni SET QUOTED_IDENTIFIER e SET ANSI_NULLS incluse in un batch o in una stored procedure non vengono applicate a tale batch o stored procedure. Le impostazioni utilizzate per istruzioni all'interno del batch o della stored procedure corrispondono alle impostazioni attive al momento della creazione del batch o della stored procedure.

Durata delle opzioni SET

In questa sezione viene descritta la durata delle opzioni SET.

  • Le opzioni SET impostate da un utente in uno script rimangono valide fino a quando non vengono reimpostate o fino al termine della sessione dell'utente nel server.

  • Le opzioni SET impostate in una stored procedure o in un trigger rimangono valide fino a quando non vengono reimpostate in tale stored procedure o trigger oppure fino a quando il controllo non viene restituito al codice che ha richiamato la stored procedure o il trigger.

  • Una connessione con supporto per MARS mantiene un elenco di valori predefiniti dell'opzione SET. Quando nell'ambito di tale connessione viene eseguito un batch, i valori predefiniti dell'opzione SET vengono copiati nell'ambiente della richiesta. Al termine del batch, nell'ambiente vengono nuovamente copiate le impostazioni predefinite della sessione. In questo modo, più batch in esecuzione nello stesso momento nell'ambito della stessa connessione vengono eseguiti in un ambiente isolato di opzioni SET.

    Nota

    Nelle connessioni con supporto per MARS, se più batch vengono eseguiti nello stesso momento e modificano l'ambiente di esecuzione del batch stesso, l'ambiente predefinito risultante per la connessione dipende dall'ultimo batch che completa l'esecuzione.

  • Se i valori dell'opzione SET non vengono reimpostati in modo esplicito, in una stored procedure o in un trigger vengono applicati i valori dell'opzione specificati nel codice di livello superiore.

  • Le opzioni SET impostate da un utente nell'ambito di un batch SQL dinamico rimangono valide solo per la durata del batch.

  • Se non vengono reimpostate in modo implicito o esplicito, le opzioni SET di una connessione rimangono valide anche dopo la connessione a un database diverso.

    Nota

    Si consideri inoltre che, quando un utente si connette a un database, è possibile che alcune opzioni vengano impostate automaticamente su ON in base ai valori specificati durante il precedente utilizzo dell'opzione del server user options o ai valori applicabili a tutte le connessioni ODBC e OLE DB.

Opzione SET abbreviata

In Transact-SQL è disponibile l'istruzione SET ANSI_DEFAULTS che rappresenta una scelta rapida per l'impostazione delle seguenti opzioni standard 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'istruzione SET ANSI_DEFAULTS consente di reimpostare i valori delle opzioni sopra elencate. Un'opzione impostata dopo l'esecuzione dell'istruzione in forma abbreviata ha la priorità rispetto al valore corrispondente impostato dall'istruzione abbreviata.

Nota

Tramite SET ANSI_DEFAULTS non vengono impostate tutte le opzioni richieste dallo standard ISO.

Vedere anche

Riferimento

Concetti