Introduction
Afin de déplacer ou restaurer une base de donnée chiffrée à l’aide de TDE (Transparent Data Encryption), il est nécessaire de restaurer le certificat utilisé pour le chiffrement de la base sur la future instance SQL hôte.
Prérequis et commandes utilisées
- Le certificat utilisé pour chiffrée la base à déplacer/restaurer et sa clé privée
 - Une instance hôté SQL Server compatible TDE (à partir de SQL Server 2008 Enterprise)
- CONTROL DATABASE sur la base de données master
 - CREATE CERTIFICATE sur la base de données master
 - CONTROL DATABASE sur la base de données chiffrée et l’autorisation VIEW DEFINITION
 - CREATE MASTER KEY (Transact-SQL)
 - CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
 - ALTER DATABASE SET Options (Transact-SQL)
 - CREATE CERTIFICATE (Transact-SQL)
 
 
Réalisation
Le script suivant permet de créer une master key depuis la base master de l’instance SQL cible :
| USE Master  GO CREATE MASTER KEY ENCRYPTION   | 
Avant de restaurer la base, le certificat (avec la clé privée) provenant de l’instance source doivent être restaurés :
| CREATE CERTIFICATE MyCert  FROM FILE=’c:\_cert\MyCert’ WITH PRIVATE KEY ( FILE = ‘c:\_cert\MyCertPrivateKey’, DECRYPTION BY PASSWORD=’Password’)  | 
La base peut maintenant être restaurée.
Vérification
La commande suivante requête la vue sys.certificates et la vue sys.dm_database_encryption_keys afin de retourner les bases chiffrées (dont l’encryption state est à “3”)
USE master GO  | 

