sp_configure (Transact-SQL)

Visualizza o modifica le impostazioni di configurazione globali per il server corrente.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_configure [ [ @configname = ] 'option_name' 
    [ , [ @configvalue = ] 'value' ] ] 

Argomenti

  • [ @configname= ] 'option_name'
    Nome di un'opzione di configurazione. option_name è di tipo varchar(35) e il valore predefinito è NULL. Motore di database di SQL Server riconosce qualsiasi stringa univoca che faccia parte del nome della configurazione. Se non si specifica alcun nome di opzione, viene restituito l'elenco completo delle opzioni.

    Per ulteriori informazioni sulle opzioni di configurazione disponibili e sulle relative impostazioni, vedere Impostazione delle opzioni di configurazione del server.

  • [ @configvalue= ] 'value'
    Nuova impostazione di configurazione. value è di tipo int e il valore predefinito è NULL. Il valore massimo dipende dalla singola opzione.

    Per conoscere il valore massimo di ogni opzione, vedere la colonna maximum della vista del catalogo sys.configurations.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Se viene eseguita senza alcun parametro, la stored procedure sp_configure restituisce un set di risultati con cinque colonne e le opzioni vengono disposte in ordine alfabetico crescente, come illustrato nella tabella seguente.

I valori di config_value e run_value non sono automaticamente equivalenti. Dopo aver aggiornato un'impostazione di configurazione utilizzando sp_configure, l'amministratore di sistema deve aggiornare il valore di configurazione corrente utilizzando l'istruzione RECONFIGURE o RECONFIGURE WITH OVERRIDE. Per ulteriori informazioni, vedere la sezione Osservazioni.

Nome colonna

Tipo di dati

Descrizione

name

nvarchar(35)

Nome dell'opzione di configurazione.

minimum

int

Valore minimo dell'opzione di configurazione.

maximum

int

Valore massimo dell'opzione di configurazione.

config_value

int

Valore impostato per l'opzione di configurazione tramite sp_configure (valore in sys.configurations.value). Per ulteriori informazioni su queste opzioni, vedere Impostazione delle opzioni di configurazione del server e sys.configurations (Transact-SQL).

run_value

int

Valore corrente dell'opzione di configurazione (valore in sys.configurations.value_in_use).

Per ulteriori informazioni, vedere sys.configurations (Transact-SQL).

Osservazioni

Utilizzare sp_configure per visualizzare o modificare le impostazioni a livello di server. Per modificare le impostazioni a livello di database, utilizzare ALTER DATABASE. Per modificare le impostazioni che interessano solo la sessione utente corrente, utilizzare l'istruzione SET.

Aggiornamento del valore di configurazione corrente

Quando si specifica un nuovo valore value per un parametro option, nel set di risultati questo valore sarà incluso nella colonna config_value. Questo valore inizialmente è diverso dal valore indicato nella colonna run_value, che riporta il valore di configurazione corrente in uso. Per aggiornare il valore di configurazione corrente nella colonna run_value, l'amministratore di sistema deve eseguire RECONFIGURE o RECONFIGURE WITH OVERRIDE.

Sia RECONFIGURE che RECONFIGURE WITH OVERRIDE funzionano con tutte le opzioni di configurazione. L'istruzione RECONFIGURE, tuttavia, non accetta i valori di opzione che non rientrano in un intervallo ragionevole o che possono causare conflitti tra le opzioni. RECONFIGURE genera, ad esempio, un errore se il valore di recovery interval è maggiore di 60 minuti o se il valore di affinity mask si sovrappone al valore di affinity I/O mask. RECONFIGURE WITH OVERRIDE, invece, accetta qualsiasi valore di opzione con il tipo di dati corretto e impone la riconfigurazione utilizzando il valore specificato.

Nota di attenzioneAttenzione

Un valore non corretto può compromettere la configurazione dell'istanza del server. Utilizzare RECONFIGURE WITH OVERRIDE con cautela.

L'istruzione RECONFIGURE aggiorna alcune opzioni in modo dinamico. Per altre è necessario interrompere e riavviare il server. Le opzioni per la memoria del server min server memory e max server memory, ad esempio, vengono aggiornate in modo dinamico in Motore di database. È possibile, quindi, modificarle senza dover riavviare il server. Se, invece, si riconfigura il valore corrente dell'opzione fill factor, sarà necessario riavviare Motore di database.

Dopo avere eseguito RECONFIGURE per un'opzione di configurazione, è possibile verificare se l'opzione è stata aggiornata in modo dinamico eseguendo sp_configure'option_name'. Se un'opzione è stata aggiornata in modo dinamico, i valori riportati nelle colonne run_value e config_value sono uguali. È inoltre possibile verificare quali opzioni sono dinamiche osservando la colonna is_dynamic della vista del catalogo sys.configurations.

[!NOTA]

Se un valore value specificato è troppo elevato per un'opzione, dalla colonna run_value risulterà che, per impostazione predefinita, Motore di database ha scelto di utilizzare la memoria dinamica anziché un'impostazione non valida.

Per ulteriori informazioni, vedere RECONFIGURE (Transact-SQL).

Opzioni avanzate

Alcune opzioni di configurazione, ad esempio affinity mask e recovery interval sono opzioni avanzate. Per impostazione predefinita non è possibile visualizzarle e modificarle. Per renderle disponibili, impostare l'opzione di configurazione ShowAdvancedOptions su 1.

Per ulteriori informazioni sulle opzioni di configurazione e sulle relative impostazioni, vedere Impostazione delle opzioni di configurazione del server.

Autorizzazioni

Le autorizzazioni di esecuzione per sp_configure senza alcun parametro o solo con il primo parametro vengono assegnate per impostazione predefinita a tutti gli utenti. Per eseguire sp_configure con entrambi i parametri per modificare un'opzione di configurazione o per eseguira l'istruzione RECONFIGURE, è necessario disporre dell'autorizzazione a livello di server ALTER SETTINGS. L'autorizzazione ALTER SETTINGS è assegnata implicitamente ai ruoli predefiniti del server sysadmin e serveradmin.

Esempi

A. Visualizzazione di un elenco delle opzioni di configurazione avanzate

Nell'esempio seguente viene illustrato come impostare ed elencare tutte le opzioni di configurazione. Le opzioni di configurazione avanzate vengono visualizzate se innanzitutto si imposta show advanced option su 1. In seguito alla modifica di questa opzione, se si esegue sp_configure senza parametri, verranno visualizzate tutte le opzioni di configurazione.

USE master;
GO
EXEC sp_configure 'show advanced option', '1';

Viene restituito il messaggio seguente: "L'impostazione 0 dell'opzione di configurazione 'show advanced options' è stata sostituita con 1. Per eseguire l'installazione, utilizzare RECONFIGURE".

Eseguire RECONFIGURE e visualizzare tutte le opzioni di configurazione:

RECONFIGURE;
EXEC sp_configure;

B. Modifica di un'opzione di configurazione

Nell'esempio seguente viene impostato il valore di recovery interval del sistema su 3 minuti.

USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;