CREATE MASTER KEY (Transact-SQL)CREATE MASTER KEY (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure SQL Data Warehouse ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Permet de créer une clé principale de base de données.Creates 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 and Parallel Data Warehouse  
  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'  
[ ; ]  
-- Syntax for Azure SQL Database and Azure SQL Data Warehouse  
  
CREATE MASTER KEY [ ENCRYPTION BY PASSWORD ='password' ]
[ ; ]  

ArgumentsArguments

PASSWORD ='password'PASSWORD ='password'
Mot de passe utilisé pour chiffrer la clé principale dans la base de données.Is the password that is used to encrypt the master key in the database. 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 ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server. password est facultatif dans SQL DatabaseSQL Database et SQL Data WarehouseSQL Data Warehouse.password is optional in SQL DatabaseSQL Database and SQL Data WarehouseSQL Data Warehouse.

NotesRemarks

La clé principale de base de données est une clé symétrique qui permet de protéger les clés privées des certificats et des clés asymétriques présentes dans la base de données.The database master key is a symmetric key used to protect the private keys of certificates and asymmetric keys that are present in the database. Lors de sa création, la clé principale est chiffrée à l'aide de l'algorithme AES_256 et d'un mot de passe fourni par l'utilisateur.When it is created, the master key is encrypted by using the AES_256 algorithm and a user-supplied password. Dans SQL Server 2008SQL Server 2008 et SQL Server 2008 R2SQL Server 2008 R2, l'algorithme triple DES est utilisé.In SQL Server 2008SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2, the Triple DES algorithm is used. Pour permettre le déchiffrement automatique de la clé principale, une copie de la clé est chiffrée à l'aide de la clé principale de service et stockée dans la base de données et dans master.To enable the automatic decryption of the master key, a copy of the key is encrypted by using the service master key and stored in both the database and in master. En général, la copie stockée dans master est mise à jour sans avertissement chaque fois que la clé principale est modifiée.Typically, the copy stored in master is silently updated whenever the master key is changed. Ce comportement par défaut peut être changé à l’aide de l’option DROP ENCRYPTION BY SERVICE MASTER KEY d’ALTER MASTER KEY.This default can be changed by using the DROP ENCRYPTION BY SERVICE MASTER KEY option of ALTER MASTER KEY. Une clé principale qui n’est pas chiffrée par la clé principale de service doit être ouverte à l’aide de l’instruction OPEN MASTER KEY et d’un mot de passe.A master key that is not encrypted by the service master key must be opened by using the OPEN MASTER KEY statement and a password.

La colonne is_master_key_encrypted_by_server de l'affichage catalogue sys.databases dans master indique si la clé principale de base de données est chiffrée au moyen de la clé principale de service.The is_master_key_encrypted_by_server column of the sys.databases catalog view in master indicates whether the database master key is encrypted by the service master key.

Des informations sur la clé principale de base de données sont consultables dans l'affichage catalogue sys.symmetric_keys.Information about the database master key is visible in the sys.symmetric_keys catalog view.

Pour SQL Server et Parallel Data Warehouse, la clé principale est généralement protégée par la clé principale de Service et au moins un mot de passe.For SQL Server and Parallel Data Warehouse, the Master Key is typically protected by the Service Master Key and at least one password. Dans le cas où la base de données est physiquement déplacée vers un autre serveur (copie des journaux de transaction, restauration de sauvegarde, etc.), la base de données contient une copie de la clé principale chiffrée par la clé principale de service du serveur d’origine (sauf si ce chiffrement a été explicitement supprimé à l’aide d’ALTER MASTER KEY DDL) et une copie de cette clé chiffrée par chaque mot de passe spécifié pendant les opérations CREATE MASTER KEY ou pendant les opérations ALTER MASTER KEY DDL suivantes.In case of the database being physically moved to a different server (log shipping, restoring backup, etc.), the database will contain a copy of the master Key encrypted by the original server Service Master Key (unless this encryption was explicitly removed using ALTER MASTER KEY DDL), and a copy of it encrypted by each password specified during either CREATE MASTER KEY or subsequent ALTER MASTER KEY DDL operations. Pour récupérer la clé principale et toutes les données chiffrées à l’aide de la clé principale comme racine de la hiérarchie de clés après le déplacement de la base de données, l’utilisateur doit utiliser l’instruction OPEN MASTER KEY à l’aide de l’un des mots de passe utilisés pour protéger la clé principale, restaurer une sauvegarde de la clé principale ou restaurer une sauvegarde de la clé principale de service d’origine sur le nouveau serveur.In order to recover the Master Key, and all the data encrypted using the Master Key as the root in the key hierarchy after the database has been moved, the user will have either use OPEN MASTER KEY statement using one of the password used to protect the Master Key, restore a backup of the Master Key, or restore a backup of the original Service Master Key on the new server.

Pour SQL DatabaseSQL Database et SQL Data WarehouseSQL Data Warehouse, la protection par mot de passe n’est pas considérée comme un mécanisme de sécurité pour empêcher un scénario de perte de données dans les cas où la base de données peut être déplacée d’un serveur vers un autre, car la protection de la clé principale de service sur la clé principale est gérée par la plateforme Microsoft Azure.For SQL DatabaseSQL Database and SQL Data WarehouseSQL Data Warehouse, the password protection is not considered to be a safety mechanism to prevent a data loss scenario in situations where the database may be moved from one server to another, as the Service Master Key protection on the Master Key is managed by Microsoft Azure platform. Par conséquent, le mot de passe de la clé principale est facultatif dans SQL DatabaseSQL Database et SQL Data WarehouseSQL Data Warehouse.Therefore, the Master Key password is optional in SQL DatabaseSQL Database and SQL Data WarehouseSQL Data Warehouse.

Important

Vous devez sauvegarder la clé principale à l’aide de l’instruction BACKUP MASTER KEY et stocker la sauvegarde en lieu sûr, en dehors de votre lieu de travail.You should back up the master key by using BACKUP MASTER KEY and store the backup in a secure, off-site location.

La clés principale du service et les clés principales de base de données sont protégées à l'aide de l'algorithme AES-256.The service master key and database master keys are protected by using the AES-256 algorithm.

AutorisationsPermissions

Requiert l'autorisation CONTROL sur la base de données.Requires CONTROL permission on the database.

ExemplesExamples

L’exemple suivant crée une clé principale de base de données pour la base de données active.The following example creates a database master key for the current database. La clé est chiffrée à l'aide du mot de passe 23987hxJ#KL95234nl0zBe.The key is encrypted using the password 23987hxJ#KL95234nl0zBe.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';  
GO  

Voir aussiSee Also

sys.symmetric_keys (Transact-SQL) sys.symmetric_keys (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
OPEN MASTER KEY (Transact-SQL) OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL) ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL) DROP MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL) CLOSE MASTER KEY (Transact-SQL)
Hiérarchie de chiffrementEncryption Hierarchy