ALTER SERVICE MASTER KEY (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Permet de modifier la clé principale de service d'une instance de SQL Server.

Conventions de la syntaxe Transact-SQL

Syntaxe

ALTER SERVICE MASTER KEY   
    [ { <regenerate_option> | <recover_option> } ] [;]  
  
<regenerate_option> ::=  
    [ FORCE ] REGENERATE  
  
<recover_option> ::=  
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }  
    |      
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

FORCE
Indique que la clé principale de service doit être générée de nouveau, même au risque de perdre des données. Pour plus d’informations, consultez Modification du compte de service SQL Server, plus loin dans cette rubrique.

REGENERATE
Indique que la clé principale de service doit être générée de nouveau.

OLD_ACCOUNT ='account_name'
Spécifie le nom de l'ancien compte de service Windows.

Avertissement

Cette option est obsolète. Ne pas utiliser. Utilisez à la place le Gestionnaire de configuration d'SQL Server.

OLD_PASSWORD ='password'
Spécifie le mot de passe de l'ancien compte de service Windows.

Avertissement

Cette option est obsolète. Ne pas utiliser. Utilisez à la place le Gestionnaire de configuration d'SQL Server.

NEW_ACCOUNT ='account_name'
Spécifie le nom du nouveau compte de service Windows.

Avertissement

Cette option est obsolète. Ne pas utiliser. Utilisez à la place le Gestionnaire de configuration d'SQL Server.

NEW_PASSWORD ='password'
Spécifie le mot de passe du nouveau compte de service Windows.

Avertissement

Cette option est obsolète. Ne pas utiliser. Utilisez à la place le Gestionnaire de configuration d'SQL Server.

Notes

La clé principale de service est générée automatiquement la première fois qu'elle est requise pour chiffrer un mot de passe, des informations d'identification ou la clé principale de base de données d'un serveur lié. La clé principale de service est chiffrée à l'aide de la clé de l'ordinateur local ou de l'API de protection des données Windows. Cette API utilise une clé dérivée des informations d'identification Windows du compte de service SQL Server.

SQL Server 2012 (11.x) utilise l’algorithme de chiffrement AES pour protéger la clé principale du service (SMK) et la clé principale de base de données (DMK). AES est un algorithme de chiffrement plus récent que 3DES, qui était utilisé dans les versions antérieures. Au terme de la mise à niveau d'une instance du Moteur de base de données vers SQL Server 2012 (11.x) , les clés SMK et DMK doivent être régénérées pour mettre à niveau les clés principales vers AES. Pour plus d’informations sur la régénération de la clé DMK, consultez ALTER MASTER KEY (Transact-SQL).

Modification du compte de service SQL Server

Pour modifier le compte de service SQL Server, utilisez le Gestionnaire de configuration SQL Server. Pour gérer une modification du compte de service, SQL Server stocke une copie redondante de la clé principale de service protégée par le compte d’ordinateur qui dispose des autorisations nécessaires accordées au groupe de service SQL Server. Si l'ordinateur fait l'objet d'une reconstruction, le même utilisateur de domaine utilisé précédemment par le compte de service peut récupérer la clé principale de service. Cela ne fonctionne pas avec les comptes locaux, ni avec le compte système local, le compte de service local ou le compte de service réseau. Quand vous déplacez SQL Server vers un autre ordinateur, migrez la clé principale de service à l’aide des fonctionnalités de sauvegarde et de restauration.

L'expression REGENERATE permet de régénérer la clé principale de service. Lorsque la clé principale de service est régénérée, SQL Server déchiffre toutes les clés qu'elle a permis de chiffrer, puis les chiffre au moyen de la nouvelle clé principale de service. Cette opération consomme beaucoup de ressources. Par conséquent, vous devez planifier cette opération au cours d'une période de faible demande, à moins que la clé ait été compromise. Si l'un des déchiffrements échoue, l'instruction entière échoue.

Lorsque l'option FORCE est spécifiée, le processus de régénération de clé continue même s'il ne parvient pas à récupérer la clé principale actuelle ou s'il ne peut pas déchiffrer toutes les clés privées qu'elle a permis de chiffrer. Utilisez l’option FORCE seulement si la régénération échoue et que vous ne pouvez pas restaurer la clé principale de service à l’aide de l’instruction RESTORE SERVICE MASTER KEY.

Attention

La clé principale de service représente la racine de la hiérarchie de chiffrement SQL Server . La clé principale de service protège de manière directe ou indirecte toutes les autres clés et tous les secrets de l'arborescence. Si une clé dépendante ne peut pas être déchiffrée au cours d'une régénération forcée, les données sécurisées par cette clé sont perdues.

Si vous déplacez SQL sur un autre ordinateur, vous devez utiliser le même compte de service pour déchiffrer la clé SMK. SQL Server résoudra automatiquement le chiffrement du compte d’ordinateur.

Autorisations

Requiert l'autorisation CONTROL SERVER sur le serveur.

Exemples

Dans l'exemple ci-dessous, la clé principale de service est régénérée.

ALTER SERVICE MASTER KEY REGENERATE;  
GO  

Voir aussi

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)
Hiérarchie de chiffrement