Opzioni di configurazione del server (SQL Server)
Si applica a:SQL Server
È possibile gestire e ottimizzare le risorse di SQL Server tramite le opzioni di configurazione, usando SQL Server Management Studio oppure la stored procedure di sistema sp_configure
. 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, questa potrebbe non essere installata. Verificare che l'opzione di configurazione run_value
sia stata modificata.
Le opzioni di configurazione hanno effetto immediatamente dopo l'impostazione dell'opzione e l'istruzione RECONFIGURE
(o in alcuni casi) RECONFIGURE WITH OVERRIDE
. La riconfigurazione di alcune opzioni invalida i piani nella cache dei piani, richiedendo 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 mostreranno inizialmente il valore modificato solo nella colonna value
. 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:
memoria massima del server (MB): il valore predefinito configurato di
0
verrà visualizzato come2147483647
nella colonnavalue_in_use
.memoria minima del server (MB): il valore configurato predefinito di
0
potrebbe essere visualizzato come8
nei sistemi a 32 bit o16
nei sistemi a 64 bit, nella colonnavalue_in_use
. In alcuni casi se il valore divalue_in_use
è0
, il valore reale divalue_in_use
è8
(32 bit) o16
(64 bit).
La colonna is_dynamic
può essere usata per determinare se l'opzione di configurazione richiede un riavvio. Un valore di 1
nella colonna is_dynamic
indica che, quando viene eseguito il comando RECONFIGURE
, il nuovo valore avrà effetto immediatamente. In alcuni casi il motore di database potrebbe non valutare immediatamente il nuovo valore, ma lo farà normalmente durante l'esecuzione. Un valore di 0
nella colonna is_dynamic
indica che il valore della configurazione modificato non verrà applicato fino al riavvio del motore di database, anche se il comando RECONFIGURE
è 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 di configurazione, eseguire il RECONFIGURE
comando per assicurarsi che tutte le modifiche di configurazione vengano applicate quando SQL Server riavvii successivi.
Opzioni di configurazione
Nella tabella seguente sono elencate tutte le opzioni di configurazione disponibili, l'intervallo di impostazioni possibili e i valori predefiniti. 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
su1
.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.
Opzione di configurazione | Valore minimo | Valore massimo | Predefinito |
---|---|---|---|
access check cache bucket count (A) | 0 | 16384 | 0 |
access check cache quota (A) | 0 | 2147483647 | 0 |
ad hoc distributed queries (A) | 0 | 1 | 0 |
ADR cleaner retry timeout (min) Si applica a: SQL Server 2019 (15.x) e versioni successive. |
0 | 32767 | 120 |
ADR Preallocation Factor Si applica a: SQL Server 2019 (15.x) e versioni successive. |
0 | 32767 | 4 |
affinity I/O mask (A, RR) | -2147483648 | 2147483647 | 0 |
affinity mask (A) | -2147483648 | 2147483647 | 0 |
maschera di I/O di affinità a 64 bit (A, disponibile solo sulla versione a 64 bit di SQL Server) | -2147483648 | 2147483647 | 0 |
maschera di affinità a 64 bit (A, RR) disponibile solo sulla versione a 64 bit di SQL Server | -2147483648 | 2147483647 | 0 |
Agent XPs (A) | 0 | 1 | 0 Cambia a 1 all'avvio di SQL Server Agent. Il valore predefinito è 0 se SQL Server Agent è impostato su avvio automatico durante l'installazione. |
allow polybase export Si applica a: SQL Server 2016 (13.x) e versioni successive. |
0 | 1 | 0 |
consenti aggiornamenti (obsoleto. Non usare. Verrà generato un errore durante la riconfigurazione.) | 0 | 1 | 0 |
automatic soft-NUMA disabled | 0 | 1 | 0 |
checksum di backup predefinito | 0 | 1 | 0 |
backup compression default | 0 | 1 : versioni precedenti a SQL Server 2022 (16.x) 2 - SQL Server 2022 (16.x) e versioni successive |
0 |
algoritmo di compressione del backup (A) Si applica a: SQL Server 2022 (16.x) e versioni successive. |
0 | 1 | 0 |
blocked process threshold (A) | 5 | 86400 | 0 |
c2 audit mode (A, RR) | 0 | 1 | 0 |
clr enabled | 0 | 1 | 0 |
clr strict security (A) Si applica a: SQL Server 2017 (14.x) e versioni successive. |
0 | 1 | 0 |
tipo di enclave di crittografia della colonna (A, RR) | 0 | 2 | 0 |
common criteria compliance enabled (A, RR) | 0 | 1 | 0 |
contained database authentication | 0 | 1 | 0 |
cost threshold for parallelism (A) | 0 | 32767 | 5 |
cross db ownership chaining | 0 | 1 | 0 |
cursor threshold (A) | -1 | 2147483647 | -1 |
Database Mail XPs (A) | 0 | 1 | 0 |
default full-text language (A) | 0 | 2147483647 | 1033 |
lingua predefinita | 0 | 9999 | 0 |
default trace enabled (A) | 0 | 1 | 1 |
disallow results from triggers (A) | 0 | 1 | 0 |
EKM provider enabled | 0 | 1 | 0 |
external scripts enabled (SC) (RR) Si applica a: SQL Server 2016 (13.x) e versioni successive. |
0 | 1 | 0 |
FILESTREAM - livello di accesso | 0 | 2 | 0 |
fill factor (A, RR) | 0 | 100 | 0 |
ft crawl bandwidth (max)(A) | 0 | 32767 | 100 |
ft crawl bandwidth (min)(A) | 0 | 32767 | 0 |
ft notify bandwidth (max)(A) | 0 | 32767 | 100 |
ft notify bandwidth (min)(A) | 0 | 32767 | 0 |
offload hardware abilitato (A) Si applica a: SQL Server 2022 (16.x) e versioni successive. |
0 | 1 | 0 |
hadoop connectivity (RP) Si applica a: SQL Server 2016 (13.x) e versioni successive. |
0 | 7 | 0 |
in-doubt xact resolution (A) | 0 | 2 | 0 |
index create memory (A, SC) | 704 | 2147483647 | 0 |
lightweight pooling (A, RR) | 0 | 1 | 0 |
locks (A, RR, SC) | 5000 | 2147483647 | 0 |
max degree of parallelism (A) | 0 | 32767 | 0 |
max full-text crawl range (A) | 0 | 256 | 4 |
max server memory (A, SC) | 16 | 2147483647 | 2147483647 |
max text repl size | 0 | 2147483647 | 65536 |
max worker threads (A) | 128 | 32767 1024 è il valore massimo consigliato per SQL Server a 32 bit, 2048 per SQL Server a 64 bit. Nota: SQL Server 2014 (12.x) è stata l'ultima versione disponibile in un sistema operativo a 32 bit. |
0 Il valore 0 consente di configurare automaticamente il numero massimo di thread di lavoro in base al numero di processori, secondo la formula (256 + (<processori logici> - 4) * 8) per le versioni di SQL Server a 32 bit e (512 + (<processori logici> - 4) * 8) per SQL Server a 64 bit. Nota: SQL Server 2014 (12.x) è stata l'ultima versione disponibile in un sistema operativo a 32 bit. |
media retention (A, RR) | 0 | 365 | 0 |
min memory per query (A) | 512 | 2147483647 | 1024 |
min server memory (A, SC) | 0 | 2147483647 | 0 |
trigger nidificati | 0 | 1 | 1 |
network packet size (A) | 512 | 32767 | 4096 |
Ole Automation Procedures (A) | 0 | 1 | 0 |
open objects (A, RR, obsoleto) | 0 | 2147483647 | 0 |
optimize for ad hoc workloads (A) | 0 | 1 | 0 |
PH_timeout (A) | 1 | 3600 | 60 |
polybase enabled (RR) Si applica a: SQL Server 2019 (15.x) e versioni successive. |
0 | 1 | 0 |
polybase network encryption | 0 | 1 | 1 |
precompute rank (A) | 0 | 1 | 0 |
priority boost (A, RR) | 0 | 1 | 0 |
query governor cost limit (A) | 0 | 2147483647 | 0 |
query wait (A) | -1 | 2147483647 | -1 |
intervallo di recupero (min) (A, SC) | 0 | 32767 | 0 |
remote access (RR) | 0 | 1 | 1 |
remote admin connections | 0 | 1 | 0 |
remote data archive | 0 | 1 | 0 |
remote login timeout | 0 | 2147483647 | 10 |
remote proc trans | 0 | 1 | 0 |
remote query timeout | 0 | 2147483647 | 600 |
Replication XPs Option (A) | 0 | 1 | 0 |
scan for startup procs (A, RR) | 0 | 1 | 0 |
server trigger recursion | 0 | 1 | 1 |
set working set size (A, RR, obsoleto) | 0 | 1 | 0 |
show advanced options | 0 | 1 | 0 |
SMO e DMO XPs (A) | 0 | 1 | 1 |
suppress recovery model errors (A) Si applica a: Istanza gestita di SQL di Azure. |
0 | 1 | 0 |
tempdb metadata memory-optimized (A) Si applica a: SQL Server 2019 (15.x) e versioni successive. |
0 | 1 | 0 |
transform noise words (A) | 0 | 1 | 0 |
two digit year cutoff (A) | 1753 | 9999 | 2049 |
user connections (A, RR, SC) | 0 | 32767 | 0 |
user options | 0 | 32767 | 0 |
xp_cmdshell (A) | 0 | 1 | 0 |