Opzioni di configurazione del server (SQL Server)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

È possibile gestire e ottimizzare SQL Server e Istanza gestita di SQL di Azure risorse tramite opzioni di configurazione usando SQL Server Management Studio o la stored procedure di sp_configure sistema. Le opzioni di configurazione del server usate più di frequente sono disponibili in SQL Server Management Studio. Tramite sp_configure è possibile accedere a tutte le opzioni di configurazione. Prima di impostare tali opzioni è importante valutare con attenzione i possibili effetti sul sistema. Per altre informazioni, vedere Visualizzare o modificare le proprietà del server (SQL Server).

Importante

La modifica delle opzioni avanzate è riservata ad amministratori di database esperti o a tecnici dotati di certificazione per SQL Server.

Categorie delle opzioni di configurazione

Se non viene visualizzato l'effetto di una modifica della configurazione, potrebbe non essere installato. Verificare che l'opzione di configurazione run_value sia stata modificata.

Le opzioni di configurazione diventano effettive immediatamente dopo l'impostazione dell'opzione e l'emissione dell'istruzione RECONFIGURE (o in alcuni casi RECONFIGURE WITH OVERRIDE). La riconfigurazione di determinate opzioni invalida i piani nella cache dei piani, causando la compilazione di nuovi piani. Per altre informazioni, vedere DBCC FREEPROCCACHE (Transact-SQL).

È possibile usare la vista catalogo sys.configurations per determinare config_value (colonna value) e run_value (colonna value_in_use) e per verificare se l'opzione di configurazione richiede un riavvio del motore di database (colonna is_dynamic).

Se SQL Server deve essere riavviato, le opzioni mostrano il valore modificato solo nella value colonna. Dopo il riavvio, il nuovo valore verrà visualizzato sia nella colonna value sia nella colonna value_in_use.

Nel caso di alcune opzioni, per rendere effettivo il nuovo valore di configurazione è necessario riavviare il server. Se si imposta il nuovo valore e si esegue sp_configure prima di riavviare il server, il nuovo valore verrà visualizzato nella colonna value della vista del catalogo sys.configurations, ma non nella colonna value_in_use. Dopo il riavvio del server, il nuovo valore viene visualizzato nella colonna value_in_use.

Nota

Il valore di config_value nel set di risultati di sp_configure è equivalente a quello della colonna value della vista del catalogo sys.configurations e il valore di run_value è equivalente a quello della colonna value_in_use.

Le opzioni di configurazione automatica sono opzioni che vengono modificate da SQL Server in base alle esigenze del sistema. Nella maggior parte dei casi non è necessario impostare manualmente i valori di tali opzioni. Tra gli esempi sono inclusi l'opzione numero massimo thread di lavoro e connessioni utente.

La query seguente può essere usata per determinare se i valori configurati non sono stati installati:

SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];

Se il valore è la modifica dell'opzione di configurazione apportata, ma non corrisponde a value_in_use, il comando RECONFIGURE non è stato eseguito o non è riuscito oppure è necessario riavviare il motore di database.

In due opzioni di configurazione i valori di value e value_in_use potrebbero non essere uguali e questo indica il comportamento previsto:

  • max server memory (MB) - Il valore configurato predefinito di 0 viene visualizzato come 2147483647 nella value_in_use colonna.

  • memoria minima del server (MB): il valore configurato predefinito di 0 potrebbe essere visualizzato come 8 nei sistemi a 32 bit o 16 nei sistemi a 64 bit, nella colonna value_in_use. In alcuni casi se il valore di value_in_use è 0, il valore reale di value_in_use è 8 (32 bit) o 16 (64 bit).

La colonna is_dynamic può essere usata per determinare se l'opzione di configurazione richiede un riavvio. Un valore di 1 nella is_dynamic colonna indica che, quando viene eseguito il RECONFIGURE comando, il nuovo valore diventa effettivo immediatamente. In alcuni casi, il motore di database potrebbe non valutare immediatamente il nuovo valore, ma lo fa nel normale corso dell'esecuzione. Un valore di nella is_dynamic colonna indica che il valore di 0 configurazione modificato non diventa effettivo fino al riavvio del motore di database, anche se il RECONFIGURE comando è stato eseguito.

Per un'opzione di configurazione che non è dinamica, non è possibile stabilire se il RECONFIGURE comando è stato eseguito per applicare la modifica della configurazione. Prima di riavviare SQL Server per applicare la modifica della configurazione, eseguire il comando RECONFIGURE per assicurarsi che tutte le modifiche alla configurazione vengano applicate al successivo riavvio di SQL Server.

Opzioni di configurazione

Nella tabella seguente sono elencate tutte le opzioni di configurazione disponibili, l'intervallo di impostazioni possibili, i valori predefiniti e il prodotto supportato (SQL Server o Istanza gestita di SQL di Azure). Le opzioni di configurazione sono contrassegnate con i seguenti codici a lettere:

  • A = opzioni avanzate, che devono essere modificate solo da un amministratore di database esperto o da un professionista dotato di certificazione per SQL Server e che richiedono l'impostazione di show advanced options su 1.

  • RR = opzioni che richiedono il riavvio del motore di database.

  • RP = opzioni che richiedono il riavvio del motore di PolyBase.

  • SC = opzioni di configurazione automatica.

Nota

SQL Server 2014 (12.x) era l'ultima versione disponibile in un sistema operativo a 32 bit.

Opzione di configurazione Possibili valori SQL Server Istanza gestita di SQL di Azure
access check cache bucket count (A) Minimo: 0
Massimo: 16384
Predefinito:0
access check cache quota (A) Minimo: 0
Massimo: 2147483647
Predefinito:0
Query distribuite ad hoc (A) Minimo: 0
Massimo: 1
Predefinito:0
Timeout tentativi di pulizia di ADR (min) (A) Minimo: 0
Massimo: 32767
Predefinito:120
SQL Server 2019 (15.x) e versioni successive
AdR Preallocation Factor (A) Minimo: 0
Massimo: 32767
Predefinito:4
SQL Server 2019 (15.x) e versioni successive
affinity I/O mask (A, RR) Minimo: -2147483648
Massimo: 2147483647
Predefinito:0
Sì (solo a 64 bit) No
affinity mask (A) Minimo: -2147483648
Massimo: 2147483647
Predefinito:0
Sì (solo a 64 bit)
affinity64 I/O mask (A, RR) Minimo: -2147483648
Massimo: 2147483647
Predefinito:0
Sì (solo a 64 bit)
affinity64 mask (A) Minimo: -2147483648
Massimo: 2147483647
Predefinito:0
Sì (solo a 64 bit) No
XP agente (A) 1 Minimo: 0
Massimo: 1
Predefinito:0
No
allow polybase export Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2016 (13.x) e versioni successive No
consenti aggiornamenti

Avviso: obsoleto. Non usare. Genera un errore durante la riconfigurazione.
Minimo: 0
Massimo: 1
Predefinito:0
No
soft-NUMA automatico disabilitato (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
checksum di backup predefinito Minimo: 0
Massimo: 1
Predefinito:0
algoritmo di compressione dei backup Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2022 (16.x) e versioni successive
backup compression default Minimo: 0
Massimo: 1 (prima di SQL Server 2022 (16.x)) o 2 (SQL Server 2022 (16.x) e versioni successive)
Predefinito:0
soglia del processo bloccato (s) (A) Minimo: 5
Massimo: 86400
Predefinito:0
c2 audit mode (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
No
clr enabled Minimo: 0
Massimo: 1
Predefinito:0
clr strict security (A) Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2017 (14.x) e versioni successive
tipo di enclave di crittografia della colonna (RR) Minimo: 0
Massimo: 2
Predefinito:0
No
common criteria compliance enabled (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
No
contained database authentication Minimo: 0
Massimo: 1
Predefinito:0
cost threshold for parallelism (A) Minimo: 0
Massimo: 32767
Predefinito:5
cross db ownership chaining Minimo: 0
Massimo: 1
Predefinito:0
cursor threshold (A) Minimo: -1
Massimo: 2147483647
Predefinito:-1
Database Mail XPs (A) Minimo: 0
Massimo: 1
Predefinito:0
default full-text language (A) Minimo: 0
Massimo: 2147483647
Predefinito:1033
lingua predefinita Minimo: 0
Massimo: 9999
Predefinito:0
default trace enabled (A) Minimo: 0
Massimo: 1
Predefinito:1
disallow results from triggers (A) Minimo: 0
Massimo: 1
Predefinito:0
Provider EKM abilitato (A) Minimo: 0
Massimo: 1
Predefinito:0
external scripts enabled (SC) Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2016 (13.x) e versioni successive
Livello di accesso FILESTREAM Minimo: 0
Massimo: 2
Predefinito:0
No
fattore di riempimento (%) (A, RR) Minimo: 0
Massimo: 100
Predefinito:0
No
ft crawl bandwidth (max) (A) Minimo: 0
Massimo: 32767
Predefinito:100
ft crawl bandwidth (min) (A) Minimo: 0
Massimo: 32767
Predefinito:0
ft notify bandwidth (max) (A) Minimo: 0
Massimo: 32767
Predefinito:100
ft notify bandwidth (min) (A) Minimo: 0
Massimo: 32767
Predefinito:0
hadoop connectivity (RP) Minimo: 0
Massimo: 7
Predefinito:0
SQL Server 2016 (13.x) e versioni successive
hardware offload abilitato (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2022 (16.x) e versioni successive
in-doubt xact resolution (A) Minimo: 0
Massimo: 2
Predefinito:0
index create memory (KB) (A, SC) Minimo: 704
Massimo: 2147483647
Predefinito:0
lightweight pooling (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
No
locks (A, RR, SC) Minimo: 5000
Massimo: 2147483647
Predefinito:0
No
max degree of parallelism (A) Minimo: 0
Massimo: 32767
Predefinito:0
No
max full-text crawl range (A) Minimo: 0
Massimo: 256
Predefinito:4
max server memory (MB) (A, SC) Minimo: 16
Massimo: 2147483647
Predefinito:2147483647
max text repl size (B) Minimo: 0
Massimo: 2147483647
Predefinito:65536
numero massimo di thread di lavoro (A) 2 Minimo: 128
Massimo: 32767
Predefinito:0

2048 è il valore massimo consigliato per SQL Server a 64 bit (1024 per 32 bit)
conservazione dei supporti (A) Minimo: 0
Massimo: 365
Predefinito:0
No
min memory per query (KB) (A) Minimo: 512
Massimo: 2147483647
Predefinito:1024
No
min server memory (MB) (A, SC) Minimo: 0
Massimo: 2147483647
Predefinito:0
No
trigger nidificati Minimo: 0
Massimo: 1
Predefinito:1
dimensioni del pacchetto di rete (B) (A) Minimo: 512
Massimo: 32767
Predefinito:4096
Ole Automation Procedures (A) Minimo: 0
Massimo: 1
Predefinito:0
oggetti aperti (A, RR)

Avviso: obsoleto. Non usare.
Minimo: 0
Massimo: 2147483647
Predefinito:0
No
optimize for ad hoc workloads (A) Minimo: 0
Massimo: 1
Predefinito:0
Timeout PH (A) Minimo: 1
Massimo: 3600
Predefinito:60
Polybase abilitato Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2019 (15.x) e versioni successive No
polybase network encryption Minimo: 0
Massimo: 1
Predefinito:1
precompute rank (A) Minimo: 0
Massimo: 1
Predefinito:0
priority boost (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
No
query governor cost limit (A) Minimo: 0
Massimo: 2147483647
Predefinito:0
attesa query (s) (A) Minimo: -1
Massimo: 2147483647
Predefinito:-1
intervallo di recupero (min) (A, SC) Minimo: 0
Massimo: 32767
Predefinito:0
remote access (RR) Minimo: 0
Massimo: 1
Predefinito:1
No
remote admin connections Minimo: 0
Massimo: 1
Predefinito:0
remote data archive Minimo: 0
Massimo: 1
Predefinito:0
No
remote login timeout (s) Minimo: 0
Massimo: 2147483647
Predefinito:10
remote proc trans Minimo: 0
Massimo: 1
Predefinito:0
remote query timeout (s) Minimo: 0
Massimo: 2147483647
Predefinito:600
XP di replica (A) Minimo: 0
Massimo: 1
Predefinito:0
scan for startup procs (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
No
server trigger recursion Minimo: 0
Massimo: 1
Predefinito:1
set working set size (A, RR)

Avviso: obsoleto. Non usare.
Minimo: 0
Massimo: 1
Predefinito:0
No
show advanced options Minimo: 0
Massimo: 1
Predefinito:0
SMO e DMO XPs (A) Minimo: 0
Massimo: 1
Predefinito:1
suppress recovery model errors (A) Minimo: 0
Massimo: 1
Predefinito:0
No
Ottimizzazione per la memoria dei metadati tempdb (A, RR) Minimo: 0
Massimo: 1
Predefinito:0
SQL Server 2019 (15.x) e versioni successive No
transform noise words (A) Minimo: 0
Massimo: 1
Predefinito:0
two digit year cutoff (A) Minimo: 1753
Massimo: 9999
Predefinito:2049
user connections (A, RR, SC) Minimo: 0
Massimo: 32767
Predefinito:0
No
user options Minimo: 0
Massimo: 32767
Predefinito:0
xp_cmdshell (A) Minimo: 0
Massimo: 1
Predefinito:0

1 Modifiche apportate all'avvio di 1 SQL Server Agent. Il valore predefinito è 0 se SQL Server Agent è impostato su avvio automatico durante l'installazione.

2 Zero (0) configura automaticamente il numero massimo di thread di lavoro a seconda del numero di processori logici. Per altre informazioni, vedere il numero di thread di lavoro massimo configurato automaticamente.