meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| sql_server:tde:refresh_restore_bdd_encryptee [10/12/2023 19:28] – créée mdl | sql_server:tde:refresh_restore_bdd_encryptee [10/12/2023 19:49] (Version actuelle) – mdl | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| - | - Prérequis | + | === Prérequis |
| Si on fait un restore sur le même environnent que le backup, cette étape n'est pas nécessaire | Si on fait un restore sur le même environnent que le backup, cette étape n'est pas nécessaire | ||
| - | Importer les certificats d' | + | Importer les certificats d' |
| - | + | \\ | |
| - | | + | === 1. Importer le certificat dans l' |
| <code TSQL> | <code TSQL> | ||
| CREATE CERTIFICATE " | CREATE CERTIFICATE " | ||
| Ligne 15: | Ligne 15: | ||
| </ | </ | ||
| - | | + | |
| - | | + | |
| + | < | ||
| RESTORE FILELISTONLY FROM DISK = ' | RESTORE FILELISTONLY FROM DISK = ' | ||
| GO | GO | ||
| - | </ | + | </ |
| - | 2. Restore | + | \\ |
| - | --- localisation des datafile de la DB de destination | + | === 2. Restore === |
| - | -- locate the destination DB datafiles | + | * localisation des datafile de la DB de destination |
| - | SELECT | + | <code TSQL> |
| - | db.name AS DBName, | + | SELECT |
| - | type_desc AS FileType, | + | db.name AS DBName, |
| - | Physical_Name AS Location | + | type_desc AS FileType, |
| - | FROM | + | Physical_Name AS Location |
| - | sys.master_files mf | + | FROM sys.master_files mf |
| - | INNER JOIN | + | INNER JOIN sys.databases db ON db.database_id = mf.database_id |
| - | sys.databases db ON db.database_id = mf.database_id | + | </ |
| - | --- RESTORATION, | + | * RESTORATION, |
| - | -- RESTORE, SQL SERVER knows that the backup is encrypted, hence he will use the certificate previoulsy imported | + | <code TSQL> |
| USE master; | USE master; | ||
| GO | GO | ||
| Ligne 41: | Ligne 42: | ||
| WITH ROLLBACK IMMEDIATE; | WITH ROLLBACK IMMEDIATE; | ||
| GO | GO | ||
| + | </ | ||
| - | RESTORE DATABASE [DBWQ1Z81] FROM DISK = N' | + | <code TSQL> |
| + | RESTORE DATABASE [DBWQ1Z81] FROM DISK = N' | ||
| MOVE N' | MOVE N' | ||
| MOVE N' | MOVE N' | ||
| Ligne 53: | Ligne 56: | ||
| REPLACE, | REPLACE, | ||
| GO | GO | ||
| + | </ | ||
| - | -- renommage des noms logiques des datafile de la DB | + | * renommage des noms logiques des datafile de la DB |
| - | -- renaming of the logical name of the DB datafiles | + | <code TSQL> |
| ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ||
| ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ||
| Ligne 64: | Ligne 68: | ||
| ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ||
| ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ALTER DATABASE [DBWQ1Z81] MODIFY FILE (NAME=N' | ||
| - | + | </ | |
| + | * On repasse la BDD en multi user donc ouverte au service | ||
| + | <code TSQL> | ||
| ALTER DATABASE [DBWQ1Z81] | ALTER DATABASE [DBWQ1Z81] | ||
| SET MULTI_USER | SET MULTI_USER | ||
| GO | GO | ||
| + | </ | ||
| - | 3. Correction du certificat en relation avec son environnement | + | ==== 3. Correction du certificat en relation avec son environnement |
| - | + | ||
| - | La base restorée, elle n'est plus encryptée avec le certificat de l' | + | La base étant |
| - | The DB being restore, it is not anymore encrypted with the destination instance certificate, | + | |
| - | -- Trouver le nom du certificat | + | * Trouver le nom du certificat |
| - | -- Find the correct certificate | + | <code TSQL> |
| select * from sys.certificates | select * from sys.certificates | ||
| + | </ | ||
| - | -- Assignation du bon certificat | + | |
| - | -- Assign the correct certificate | + | * Assignation du bon certificat |
| + | <code TSQL> | ||
| use [xxx] | use [xxx] | ||
| GO | GO | ||
| Ligne 91: | Ligne 98: | ||
| ALTER DATABASE DBWQ1Z81 SET ENCRYPTION ON | ALTER DATABASE DBWQ1Z81 SET ENCRYPTION ON | ||
| GO | GO | ||
| + | </ | ||
| L' | L' | ||
| - | Encryption will be therefore relaunched | ||
| - | -- Vérification du statut d' | ||
| - | -- Check of the status of the encryption | ||
| + | * Vérification du statut d' | ||
| + | <code TSQL> | ||
| -- 0 = No database encryption key present, no encryption | -- 0 = No database encryption key present, no encryption | ||
| -- 1 = Unencrypted | -- 1 = Unencrypted | ||
| Ligne 118: | Ligne 124: | ||
| WHEN 5 THEN ' | WHEN 5 THEN ' | ||
| WHEN 6 THEN ' | WHEN 6 THEN ' | ||
| - | |||
| END AS DescriptionState , | END AS DescriptionState , | ||
| dek.key_algorithm AS Algorithm , | dek.key_algorithm AS Algorithm , | ||
| Ligne 128: | Ligne 133: | ||
| INNER JOIN sys.certificates c ON dek.encryptor_thumbprint = c.thumbprint | INNER JOIN sys.certificates c ON dek.encryptor_thumbprint = c.thumbprint | ||
| GO | GO | ||
| + | </ | ||