Condividi tramite


ALTER SERVER CONFIGURATION (Transact-SQL)

Vengono modificate le impostazioni di configurazione globali per il server corrente in SQL Server.

Si applica a: SQL Server (da SQL Server 2008 R2 a versione corrente).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

ALTER SERVER CONFIGURATION
SET <optionspec> 
[;]

<optionspec> ::=
{
     <process_affinity>
   | <diagnostic_log>
   | <failover_cluster_property>
   | <hadr_cluster_context>
   | <buffer_pool_extension>
}

<process_affinity> ::= 
   PROCESS AFFINITY 
   {
     CPU = { AUTO | <CPU_range_spec> } 
   | NUMANODE = <NUMA_node_range_spec> 
   }
   <CPU_range_spec> ::= 
      { CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ] 

   <NUMA_node_range_spec> ::= 
      { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]

<diagnostic_log> ::= 
   DIAGNOSTICS LOG 
   { 
     ON  
   | OFF  
   | PATH = { 'os_file_path' | DEFAULT }  
   | MAX_SIZE = { 'log_max_size' MB | DEFAULT }  
   | MAX_FILES = { 'max_file_count' | DEFAULT }  
   }

<failover_cluster_property> ::= 
   FAILOVER CLUSTER PROPERTY <resource_property>
   <resource_property> ::=
      {
        VerboseLogging = { 'logging_detail' | DEFAULT }  
      | SqlDumperDumpFlags = { 'dump_file_type' | DEFAULT }
      | SqlDumperDumpPath = { 'os_file_path'| DEFAULT }
      | SqlDumperDumpTimeOut = { 'dump_time-out' | DEFAULT }
      | FailureConditionLevel = { 'failure_condition_level' | DEFAULT }
      | HealthCheckTimeout = { 'health_check_time-out' | DEFAULT }
      }

<hadr_cluster_context> ::=
   HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }

<buffer_pool_extension>::=
    BUFFER POOL EXTENSION 
    { ON ( FILENAME = 'os_file_path_and_name' , SIZE = <size_spec> ) 
    | OFF }

    <size_spec> ::=
        { size [ KB | MB | GB ] }

Argomenti

<process_affinity> ::=

  • PROCESS AFFINITY
    Consente di associare i thread di hardware alle CPU.

  • CPU = { AUTO | <CPU_range_spec> }
    Consente di distribuire thread di lavoro di SQL Server a ogni CPU all'interno dell'intervallo specificato. Alle CPU non incluse nell'intervallo specificato non saranno assegnati thread.

    • AUTO
      Specifica che a nessun thread viene assegnata una CPU. Il sistema operativo può spostare liberamente i thread tra le CPU in base al carico di lavoro del server. Si tratta dell'impostazione predefinita e consigliata.

    • <CPU_range_spec> ::=
      Specifica la CPU o l'intervallo di CPU a cui assegnare thread.

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      Elenco di una o più CPU. Gli ID CPU iniziano da 0 e sono valori integer.
  • NUMANODE = <NUMA_node_range_spec>
    Consente di assegnare thread a tutte le CPU che appartengono al nodo NUMA o all'intervallo di nodi NUMA specificato.

    • <NUMA_node_range_spec> ::=
      Specifica lo stato del nodo NUMA o dell'intervallo di nodi NUMA.

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      Elenco di uno o più nodi NUMA. Gli ID nodo NUMA iniziano da 0 e sono valori integer.

<diagnostic_log> ::=

Si applica a: da SQL Server 2012 a SQL Server 2014.

  • DIAGNOSTICS LOG
    Consente di avviare o arrestare la registrazione dei dati di diagnostica acquisiti dalla stored procedure sp_server_diagnostics e di impostare i parametri di configurazione dei log SQLDIAG, quali il conteggio del rollover dei file, le dimensioni dei file di log e la posizione dei file. Per ulteriori informazioni, vedere Visualizzazione e lettura del log di diagnostica dell'istanza del cluster di failover.

  • ON
    Consente di avviare la registrazione dei dati di diagnostica di SQL Server nel percorso specificato dall'opzione file PATH. Si tratta dell'impostazione predefinita.

  • OFF
    Consente di arrestare la registrazione dei dati di diagnostica.

  • PATH = { 'os_file_path' | DEFAULT }
    Percorso che indica la posizione dei log di diagnostica. Il percorso predefinito è <\MSSQL\Log> all'interno della cartella di installazione dell'istanza del cluster di failover di SQL Server.

  • MAX_SIZE = { 'log_max_size' MB | DEFAULT }
    Dimensione massima in megabyte che può raggiungere ogni log di diagnostica. Il valore predefinito è 100 MB.

  • MAX_FILES = { 'max_file_count' | DEFAULT }
    Numero massimo di file di log di diagnostica che è possibile archiviare nel computer prima che vengano riciclati per nuovi log di diagnostica.

<failover_cluster_property> ::=

Si applica a: da SQL Server 2012 a SQL Server 2014.

  • FAILOVER CLUSTER PROPERTY
    Consente di modificare le proprietà del cluster di failover privato delle risorse di SQL Server.

  • VERBOSE LOGGING = { 'logging_detail' | DEFAULT }
    Consente di impostare il livello di registrazione per il clustering di failover di SQL Server. Può essere abilitata per fornire dettagli aggiuntivi nei log degli errori per la risoluzione dei problemi.

    • 0: la registrazione è disabilitata (impostazione predefinita)

    • 1: solo errori

    • 2: errori e avvisi

  • SQLDUMPEREDUMPFLAGS
    Determina il tipo di file di dump generati dall'utilità SQLDumper di SQL Server. L'impostazione predefinita è 0. Per ulteriori informazioni, vedere l'articolo della Knowledge Base sull'utilità SQL Server Dumper.

  • SQLDUMPERDUMPPATH = { 'os_file_path' | DEFAULT }
    Percorso in cui l'utilità SQLDumper archivia i file di dump. Per ulteriori informazioni, vedere l'articolo della Knowledge Base sull'utilità SQL Server Dumper.

  • SQLDUMPERDUMPTIMEOUT = { 'dump_time-out' | DEFAULT }
    Valore di timeout in millisecondi prima che l'utilità SQLDumper generi un dump in caso di errore di SQL Server. Il valore predefinito è 0, che indica che non vi sono limiti di tempo per completare il dump. Per ulteriori informazioni, vedere l'articolo della Knowledge Base sull'utilità SQL Server Dumper.

  • FAILURECONDITIONLEVEL = { 'failure_condition_level' | DEFAULT }
    Condizioni in cui si verifica il failover o il riavvio dell'istanza del cluster di failover di SQL Server. Il valore predefinito è 3, che indica che si verificherà il failover o il riavvio della risorsa di SQL Server in caso di errori critici del server. Per ulteriori informazioni su questo e altri livelli delle condizioni di errore, vedere Configurare le impostazioni della proprietà FailureConditionLevel.

  • HEALTHCHECKTIMEOUT = { 'health_check_time-out' | DEFAULT }
    Valore di timeout che consente di definire il tempo di attesa da parte della DLL risorse del motore di database di SQL Server relativo alla restituzione delle informazioni sull'integrità del server prima che venga stabilita la mancata risposta dell'istanza di SQL Server. Il valore di timeout è espresso in millisecondi. L'impostazione predefinita è 60000 millisecondi (60 secondi).

<hadr_cluster_context> ::=

Si applica a: da SQL Server 2012 a SQL Server 2014.

  • HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }
    Passa il contesto del cluster HADR dell'istanza del server al cluster WSFC (Windows Server Failover Clustering) specificato. Il contesto del cluster HADR determina il cluster WSFC (Windows Server Failover Clustering) che gestisce i metadati per le repliche di disponibilità ospitate dall'istanza del server. Utilizzare l'opzione SET HADR CLUSTER CONTEXT solo durante una migrazione tra cluster di Gruppi di disponibilità AlwaysOn a un'istanza di SQL Server 2012 SP1 o versione successiva in un nuovo cluster WSFC.

    È possibile cambiare il contesto del cluster HADR solo dal cluster WSFC locale a un cluster remoto e quindi nuovamente dal cluster remoto al cluster locale. È possibile cambiare il contesto del cluster HADR in un cluster remoto solo se l'istanza di SQL Server non ospita alcuna replica di disponibilità.

    Il contesto di un cluster HADR remoto può essere nuovamente cambiato nel cluster locale in qualsiasi momento, a meno che l'istanza del server non ospiti una replica di disponibilità.

    Per identificare il cluster di destinazione, specificare uno dei valori seguenti:

    • windows_cluster
      Nome dell'oggetto cluster (CON) di un cluster WSFC. È possibile specificare il nome breve o il nome di dominio completo. Per individuare l'indirizzo IP di destinazione di un nome breve, ALTER SERVER CONFIGURATION utilizza la risoluzione DNS. In alcuni casi, un nome breve potrebbe generare confusione e DNS potrebbe restituire l'indirizzo IP errato. È pertanto consigliabile specificare il nome di dominio completo.

    • LOCAL
      Cluster WSFC locale.

    Per ulteriori informazioni, vedere Modificare il contesto del cluster HADR dell'istanza del server (SQL Server).

<buffer_pool_extension>::=

Si applica a: da SQL Server 2014 a SQL Server 2014.

  • ON
    Abilita l'opzione di estensione del pool di buffer. Questa opzione estende la dimensione del pool di buffer utilizzando risorse di archiviazione non volatili quali le unità SSD per rendere persistenti le pagine di dati puliti nel pool. Per ulteriori informazioni su questa funzionalità, vedere Estensione pool di buffer. L'estensione del pool di buffer non è disponibile in ogni edizione di SQL Server. Per ulteriori informazioni, vedere Funzionalità supportate dalle edizioni di SQL Server 2014.

  • FILENAME = 'os_file_path_and_name'
    Definisce il percorso e il nome della directory del file di cache dell'estensione del pool di buffer. L'estensione del file deve essere specificata come .BPE. È necessario disabilitare BUFFER POOL EXTENSION prima di modificare FILENAME.

  • SIZE = size [ KB | MB | GB ]
    Definisce le dimensioni della cache. La specifica predefinita delle dimensioni è KB. La dimensione minima è la dimensione della memoria massima del server. Il limite massimo è 32 volte la dimensione della memoria massima del server. Per ulteriori informazioni sulla memoria massima del server, vedere sp_configure (Transact-SQL).

    È necessario disattivare BUFFER POOL EXTENSION prima di poter modificare le dimensioni del file. Per specificare dimensioni inferiori a quelle correnti, è necessario riavviare l'istanza di SQL Server per recuperare memoria. In caso contrario, le dimensioni specificate devono essere uguali o maggiori delle dimensioni correnti.

  • OFF
    Disabilita l'opzione di estensione del pool di buffer. È necessario disabilitare l'opzione di estensione del pool di buffer prima di modificare i parametri associati, ad esempio la dimensione o il nome del file. Quando questa opzione è disabilitata, tutte le informazioni di configurazione correlate vengono rimosse dal Registro di sistema.

    Avviso

    La disabilitazione dell'estensione del pool di buffer potrebbe influire negativamente sulle prestazioni del server perché la dimensione del pool di buffer si riduce in modo significativo.

Osservazioni generali

Questa istruzione non richiede un riavvio di SQL Server. Nel caso di un'istanza del cluster di failover di SQL Server, non è necessario un riavvio della risorsa cluster di SQL Server.

Limitazioni e restrizioni

Questa istruzione non supporta i trigger DDL.

Autorizzazioni

Sono necessarie le autorizzazioni ALTER SETTINGS per l'opzione di affinità del processo, le autorizzazioni ALTER SETTINGS e VIEW SERVER STATE per le opzioni relative a log di diagnostica e proprietà del cluster di failover e l'autorizzazione CONTROL SERVER per l'opzione relativa al contesto del cluster HADR.

È necessaria l'autorizzazione ALTER SERVER STATE per l'opzione di estensione del pool di buffer.

La DLL risorse del Motore di database di SQL Server viene eseguita con l'account di sistema locale. L'account di sistema locale, pertanto, deve disporre di accesso in lettura e in scrittura al percorso specificato nell'opzione relativa al log di diagnostica.

Esempi

Categoria

Elementi di sintassi inclusi

Impostazione dell'affinità del processo

CPU • NUMANODE • AUTO

Impostazione delle opzioni del log di diagnostica

ON • OFF • PATH • MAX_SIZE

Impostazione delle proprietà del cluster di failover

HealthCheckTimeout

Modifica del contesto del cluster di una replica di disponibilità

'windows_cluster'

Impostazione dell'estensione del pool di buffer

BUFFER POOL EXTENSION

Impostazione dell'affinità del processo

Negli esempi inclusi in questa sezione viene illustrato come impostare l'affinità del processo in CPU e nodi NUMA. Negli esempi si presuppone che il server contenga 256 CPU disposte ciascuna in quattro gruppi di 16 nodi NUMA. I thread non sono assegnati ad alcun nodo NUMA o CPU.

  • Gruppo 0: nodi NUMA da 0 a 3, CPU da 0 a 63

  • Gruppo 1: nodi NUMA da 4 a 7, CPU da 64 a 127

  • Gruppo 2: nodi NUMA da 8 a 12, CPU da 128 a 191

  • Gruppo 3: nodi NUMA da 13 a 16, CPU da 192 a 255

A.Impostazione dell'affinità su tutte le CPU nei gruppi 0 e 2

Nell'esempio seguente viene impostata l'affinità su tutte le CPU nei gruppi 0 e 2.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0 TO 63, 128 TO 191;

B.Impostazione dell'affinità su tutte le CPU nei nodi NUMA 0 e 7

Nell'esempio seguente l'affinità delle CPU viene impostata sui nodi 0 e 7.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY NUMANODE=0, 7;

C.Impostazione dell'affinità sulle CPU da 60 a 200

Nell'esempio seguente viene impostata l'affinità sulle CPU da 60 a 200.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=60 TO 200;

D.Impostazione dell'affinità sulla CPU 0 in un sistema che dispone di due CPU

Nell'esempio seguente viene impostata l'affinità su CPU=0 in un computer che dispone di due CPU. Prima dell'esecuzione dell'istruzione seguente, la maschera di bit di affinità interna è 00.

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=0;

E.Impostazione dell'affinità su AUTO

Nell'esempio seguente l'affinità viene impostata su AUTO.

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY CPU=AUTO;

Impostazione delle opzioni del log di diagnostica

Si applica a: da SQL Server 2012 a SQL Server 2014.

Negli esempi inclusi in questa sezione viene illustrato come impostare i valori per l'opzione del log di diagnostica.

A.Avvio della registrazione dei dati di diagnostica

Nell'esempio seguente viene avviata la registrazione dei dati di diagnostica.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B.Arresto della registrazione dei dati di diagnostica

Nell'esempio seguente viene arrestata la registrazione dei dati di diagnostica.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C.Definizione della posizione dei log di diagnostica

Nell'esempio seguente viene impostata la posizione dei log di diagnostica sul percorso di file specificato.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D.Definizione della dimensione massima di ogni log di diagnostica

Nell'esempio seguente viene impostata su 10 megabyte la dimensione massima di ogni log di diagnostica.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

Impostazione delle proprietà del cluster di failover

Si applica a: da SQL Server 2012 a SQL Server 2014.

Nell'esempio seguente viene illustrata l'impostazione dei valori delle proprietà della risorsa cluster di failover di SQL Server.

A.Impostazione del valore per la proprietà HealthCheckTimeout

Nell'esempio seguente viene impostata l'opzione HealthCheckTimeout su 15.000 millisecondi (15 secondi).

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

B.Modifica del contesto del cluster di una replica di disponibilità

Nell'esempio seguente viene cambiato il contesto del cluster HADR dell'istanza di SQL Server. Per specificare il cluster WSFC di destinazione, clus01, nell'esempio viene specificato il nome completo dell'oggetto cluster, clus01.xyz.com.

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT = 'clus01.xyz.com';

Impostazione delle opzioni di estensione del pool di buffer

A.Impostazione dell'opzione di estensione del pool di buffer

Si applica a: da SQL Server 2014 a SQL Server 2014.

Nell'esempio seguente viene abilitata l'opzione di estensione del pool di buffer e vengono specificati un nome file e una dimensione.

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 50 GB);

B.Modifica dei parametri dell'estensione del pool di buffer

Nell'esempio seguente vengono modificate le dimensioni di un file di estensione del pool di buffer. L'opzione di estensione del pool di buffer deve essere disabilitata prima di poter modificare uno qualsiasi dei parametri.

ALTER SERVER CONFIGURATION 
SET BUFFER POOL EXTENSION OFF;
GO
EXEC sp_configure 'max server memory (MB)', 12000;
GO
RECONFIGURE;
GO
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
    (FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 60 GB);
GO

Vedere anche

Attivitá

Configurare SQL Server per l'utilizzo di Soft-NUMA (SQL Server)

Riferimento

sys.dm_os_schedulers (Transact-SQL)

sys.dm_os_memory_nodes (Transact-SQL)

sys.dm_os_buffer_pool_extension_configuration (Transact-SQL)

Concetti

Modificare il contesto del cluster HADR dell'istanza del server (SQL Server)

Estensione pool di buffer