ALTER MASTER KEY (Transact-SQL)

Permet de modifier les propriétés de la clé principale d'une base de données.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    | 
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

Arguments

  • PASSWORD ='password'
    Spécifie un mot de passe avec lequel chiffrer ou déchiffrer la clé principale de base de données. password doit satisfaire aux critères de la stratégie de mot de passe Windows de l'ordinateur qui exécute l'instance de SQL Server.

Notes

L'option REGENERATE permet de créer de nouveau la clé principale de base de données et toutes les clés qu'elle protège. Les clés sont déchiffrées au préalable au moyen de l'ancienne clé principale, puis chiffrées au moyen de la nouvelle clé principale. Cette opération gourmande en ressources doit être planifiée au cours d'une période de faible demande, à moins que la clé principale ait été compromise.

Lorsque l'option FORCE est utilisée, la régénération de clé continue même si la clé principale n'est pas disponible ou si le serveur ne peut pas déchiffrer toutes les clés privées chiffrées. Si la clé principale ne peut pas être ouverte, utilisez l'instruction RESTORE MASTER KEY pour restaurer la clé principale à partir d'une sauvegarde. Utilisez l'option FORCE seulement si la clé principale ne peut pas être récupérée ou si le déchiffrement échoue. Les données chiffrées uniquement à l'aide d'une clé irrécupérable sont perdues.

L'option DROP ENCRYPTION BY SERVICE MASTER KEY permet de supprimer le chiffrement de la clé principale de base de données au moyen de la clé principale du service.

ADD ENCRYPTION BY SERVICE MASTER KEY entraîne le chiffrement d'une copie de la clé principale au moyen de la clé principale du service et le stockage de cette copie dans la base de données en cours et dans master.

Autorisations

Requiert l'autorisation CONTROL sur la base de données. Si la clé principale de base de données a été chiffrée à l'aide d'un mot de passe, ce mot de passe doit également être connu.

Exemples

Dans l'exemple ci-dessous, une nouvelle clé principale de base de données est créée pour AdventureWorks et les clés placées sous cette clé dans la hiérarchie de chiffrement sont chiffrées de nouveau.

USE AdventureWorks;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO

Historique des modifications

Mise à jour du contenu

Correction de la section <encryption_option> dans la syntaxe stipulant d'utiliser des accolades {} plutôt que des crochets [].