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)
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 BY PASSWORD = 'Password' |
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 SELECT * FROM sys.certificates SELECT * FROM sys.dm_database_encryption_keys WHERE encryption_state = 3; |