ALTER MASTER KEY (Transact-SQL)ALTER MASTER KEY (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data Warehouse ouiParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Permet de modifier les propriétés de la clé principale d'une base de données.Changes the properties of a database master key.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

-- Syntax for SQL Server  

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' }  
-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.

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 { PASSWORD = 'password' }  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  

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   
    |   
    DROP ENCRYPTION BY SERVICE MASTER KEY  

ArgumentsArguments

Mot de passe ='mot de passe'PASSWORD ='password'
Spécifie un mot de passe avec lequel chiffrer ou déchiffrer la clé principale de la base de données.Specifies a password with which to encrypt or decrypt the database master key. mot de passe doit remplir les conditions de stratégie de mot de passe Windows de l’ordinateur qui exécute l’instance de SQL ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

NotesRemarks

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.The REGENERATE option re-creates the database master key and all the keys it protects. 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.The keys are first decrypted with the old master key, and then encrypted with the new master key. 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.This resource-intensive operation should be scheduled during a period of low demand, unless the master key has been compromised.

SQL Server 2012SQL Server 2012 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). uses the AES encryption algorithm to protect the service master key (SMK) and the database master key (DMK). AES est un algorithme de chiffrement plus récent que 3DES, qui était utilisé dans les versions antérieures.AES is a newer encryption algorithm than 3DES used in earlier versions. Au terme de la mise à niveau d'une instance du Moteur de base de donnéesDatabase Engine vers SQL Server 2012SQL Server 2012, les clés SMK et DMK doivent être régénérées pour mettre à niveau les clés principales vers AES.After upgrading an instance of the Moteur de base de donnéesDatabase Engine to SQL Server 2012SQL Server 2012 the SMK and DMK should be regenerated in order to upgrade the master keys to AES. Pour plus d’informations sur la régénération de la clé SMK, consultez ALTER SERVICE MASTER KEY ( Transact-SQL ) .For more information about regenerating the SMK, see ALTER SERVICE MASTER KEY (Transact-SQL).

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.When the FORCE option is used, key regeneration will continue even if the master key is unavailable or the server cannot decrypt all the encrypted private keys. Si la clé principale ne peut pas être ouvert, utilisez la RESTORE MASTER KEY instruction pour restaurer la clé principale à partir d’une sauvegarde.If the master key cannot be opened, use the RESTORE MASTER KEY statement to restore the master key from a backup. Utilisez l'option FORCE seulement si la clé principale ne peut pas être récupérée ou si le déchiffrement échoue.Use the FORCE option only if the master key is irretrievable or if decryption fails. Les données chiffrées uniquement à l'aide d'une clé irrécupérable sont perdues.Information that is encrypted only by an irretrievable key will be lost.

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.The DROP ENCRYPTION BY SERVICE MASTER KEY option removes the encryption of the database master key by the service master key.

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.ADD ENCRYPTION BY SERVICE MASTER KEY causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in master.

PermissionsPermissions

Requiert l'autorisation CONTROL sur la base de données.Requires CONTROL permission on the database. 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.If the database master key has been encrypted with a password, knowledge of that password is also required.

ExemplesExamples

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.The following example creates a new database master key for AdventureWorks and reencrypts the keys below it in the encryption hierarchy.

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

Exemples : Azure SQL Data WarehouseAzure SQL Data Warehouse et Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

L’exemple suivant crée une nouvelle clé principale de base de données pour AdventureWorksPDW2012 et rechiffre les clés en dessous dans la hiérarchie de chiffrement.The following example creates a new database master key for AdventureWorksPDW2012 and re-encrypts the keys below it in the encryption hierarchy.

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

Voir aussiSee Also

CREATE MASTER KEY (Transact-SQL) CREATE MASTER KEY (Transact-SQL)
Ouvrez MASTER KEY ( Transact-SQL ) OPEN MASTER KEY (Transact-SQL)
CLOSE MASTER KEY ( Transact-SQL ) CLOSE MASTER KEY (Transact-SQL)
BACKUP MASTER KEY ( Transact-SQL ) BACKUP MASTER KEY (Transact-SQL)
RESTORE MASTER KEY ( Transact-SQL ) RESTORE MASTER KEY (Transact-SQL)
DROP MASTER KEY ( Transact-SQL ) DROP MASTER KEY (Transact-SQL)
Hiérarchie de chiffrement Encryption Hierarchy
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
Attacher et détacher une base de données (SQL Server)Database Detach and Attach (SQL Server)