sp_configure (Transact-SQL)

Affiche ou modifie des options de configuration générales pour le serveur actif.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

  • [ @configname= ] 'option_name'
    Nom d'une option de configuration. L'argument option_name est de type varchar(35), avec NULL comme valeur par défaut. Moteur de base de données SQL Server reconnaît toute chaîne unique qui fait partie du nom de configuration. Si ce dernier n'est pas spécifié, la liste complète des options est renvoyée.

    Pour en savoir plus sur les options de configuration disponibles et leurs paramètres, consultez Définition des options de configuration de serveur.

  • [ @configvalue= ] 'value'
    Nouveau paramètre de configuration. L'argument value est de type int, avec NULL comme valeur par défaut. La valeur maximale dépend de l'option individuelle.

    Pour connaître la valeur maximale de chaque option, consultez la colonne maximum de la vue de catalogue sys.configurations.

Valeurs du code de retour

0 (succès) ou 1 (échec)

Ensembles de résultats

Lorsqu'elle est exécutée sans paramètre, la procédure stockée sp_configure renvoie un ensemble de résultats avec cinq colonnes et trie les options par ordre alphabétique croissant, comme indiqué dans le tableau suivant.

Les valeurs de config_value et de run_value ne sont pas automatiquement équivalentes. Après la mise à jour d'un paramètre de configuration à l'aide de sp_configure, l'administrateur système doit mettre à jour la valeur de configuration en cours d'exécution à l'aide de l'instruction RECONFIGURE ou RECONFIGURE WITH OVERRIDE. Pour plus d'informations, consultez la section Remarque.

Nom de la colonne

Type de données

Description

name

nvarchar(35)

Nom de l'option de configuration.

minimum

int

Valeur minimale de l'option de configuration.

maximum

int

Valeur maximale de l'option de configuration.

config_value

int

Valeur de l'option de configuration définie à l'aide de sp_configure (valeur dans sysconfigures.value). Pour plus d'informations sur ces options, consultez Définition des options de configuration de serveur et sys.configurations (Transact-SQL).

run_value

int

Valeur actuelle en cours d'exécution de l'option de configuration (valeur dans sys.configurations.value_in_use).

Pour plus d'informations, consultez sys.configurations (Transact-SQL).

Notes

Utilisez la procédure stockée sp_configure pour afficher ou modifier les paramètres au niveau du serveur. Pour modifier les paramètres au niveau de la base de données, utilisez ALTER DATABASE. Pour modifier uniquement les paramètres qui ont une incidence sur la session de l'utilisateur actuel, utilisez l'instruction SET.

Mise à jour de la valeur de configuration en cours d'exécution

Lorsque vous spécifiez une nouvelle valeur de l'argument value pour une option, l'ensemble de résultats affiche cette valeur dans la colonne config_value. Initialement, cette valeur est différente de la valeur spécifiée dans la colonne run_value, qui affiche la valeur de configuration actuellement en cours d'exécution. Pour mettre à jour la valeur de configuration en cours d'exécution dans la colonne run_value, l'administrateur système doit exécuter au choix RECONFIGURE ou RECONFIGURE WITH OVERRIDE.

Ces deux instructions fonctionnent avec toutes les options de configuration. Cependant, l'instruction de base RECONFIGURE rejette toute valeur d'option se trouvant en dehors d'une plage appropriée ou pouvant être à l'origine de conflits parmi les options. Par exemple, RECONFIGURE produit une erreur si la valeur de recovery interval est supérieure à 60 minutes ou si les valeurs de affinity mask et de affinity I/O mask se superposent. Par contre, RECONFIGURE WITH OVERRIDE accepte toutes les valeurs d'option présentant le bon type de données et force la reconfiguration avec la valeur spécifiée.

AttentionAttention

Une valeur d'option inappropriée peut avoir des répercussions négatives sur la configuration de l'instance de serveur. Utilisez RECONFIGURE WITH OVERRIDE avec prudence.

Certaines options peuvent être mises à jour de façon dynamique par l'instruction RECONFIGURE, alors que d'autres nécessitent un arrêt et un redémarrage du serveur. Ainsi, les options de mémoire du serveur min server memory et max server memory sont mises à jour dynamiquement dans le moteur de base de données ; vous pouvez donc les modifier sans redémarrer le serveur. En revanche, la reconfiguration de la valeur en cours d'exécution pour l'option fill factor nécessite un redémarrage du moteur de base de données.

Après l'exécution de RECONFIGURE sur une option de configuration, vous pouvez vérifier la mise à jour dynamique de l'option en exécutant sp_configure'option_name'. Les valeurs des colonnes run_value et config_value doivent correspondre dans le cas d'une option mise à jour dynamiquement. Vous pouvez aussi voir les options qui sont dynamiques en consultant la colonne is_dynamic de la vue de catalogue sys.configurations.

Notes

Si la valeur spécifiée du paramètre value est trop élevée pour une option, la colonne run_value reflète le fait que le moteur de base de données est passé par défaut à l'utilisation de la mémoire dynamique au lieu d'utiliser un paramètre incorrect.

Pour plus d'informations, consultez RECONFIGURE (Transact-SQL).

Options avancées

Certaines options de configuration, comme affinity mask et recovery interval, sont qualifiées d'options avancées. Par défaut, ces options ne sont ni affichables ni modifiables. Pour les rendre disponibles, définissez la valeur de l'option de configuration ShowAdvancedOptions à 1.

Pour en savoir plus sur les options de configuration et leurs paramètres, consultez Définition des options de configuration de serveur.

Autorisations

Les autorisations d'exécution de sp_configure, sans paramètre ou avec le premier paramètre uniquement, sont accordées par défaut à tous les utilisateurs. Pour exécuter sp_configure avec les deux paramètres afin de modifier une option de configuration ou d'exécuter l'instruction RECONFIGURE, vous devez disposer de l'autorisation de niveau serveur ALTER SETTINGS. L'autorisation ALTER SETTINGS est implicitement détenue par les rôles de serveur fixes sysadmin et serveradmin.

Exemples

A. Affichage des options de configuration avancées

L'exemple suivant montre comment définir et afficher toutes les options de configuration. Pour afficher les options de configuration avancées, il faut tout d'abord donner à l'argument show advanced option la valeur 1. Une fois cette option modifiée, l'exécution de sp_configure sans paramètre renvoie l'ensemble des options de configuration.

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

Le message est le suivant : « L'option de configuration 'show advanced options' est passée de 0 à 1. Pour installer, exécutez l'instruction RECONFIGURE ».

Exécutez RECONFIGURE et affichez toutes les options de configuration :

RECONFIGURE;
EXEC sp_configure;

B. Modification d'une option de configuration

L'exemple suivant définit la valeur de l'option système recovery interval à 3 minutes.

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