jueves, 1 de octubre de 2015

TDE - DESENCRIPTAR DB

Cuando intentas restaurar una base de datos que está encriptada (TDE) en un servidor secundario, debes instalar el certificado que se encuentra en el servidor primario, de lo contrario, al intentar restaurar la base de datos te arrojará el siguiente error:

Cannot find server certificate with thumbprint '0xD6270CD6DBA0437B0054685723BAEB12B19D17EF'.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.


  • CREAR MASTER KEY
  • CREATE CERTIFICATE
  • RESTORE DATABASE



1.- CREATE MASTER KEY

Para implementar el certificado se debe crear una Master Key en el servidor secundario sobre la base de datos MASTER

USE MASTER;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '**********';
GO


El password de la Master Key no necesariamente debe ser el mismo que el del servidor primario, preferentemente hágalo con el mismo.




2.- CREATE CERTIFICATE (restaurar certificado en servidor secundario)


A continuación se muestra el código SQL-T para restaurar el certificado que obtuvo del servidor primario.

Tome el backup del certificado del servidor primario, cópielo al servidor secundario y restaurelo como en el siguiente ejemplo:

USE MASTER;
GO
CREATE CERTIFICATE CertificateServerLevel
FROM FILE = 'G:\Authority\SERVER_Certificate.cer'
WITH PRIVATE KEY (FILE = 'G:\Authority\SERVER_CertificateKey.pvk',DECRYPTION BY PASSWORD = '********')


CertificateServerLevel: Es un Nombre X del Certificado del MASTER DB (Certificado a nivel servidor), preferentemente que se llamen igual que tiene en el servidor primario
- Para abrir e implementar el certificado necesitará la contraseña que generó en el servidor primario.


3.- RESTORE DATABASE

Ahora ya puede restaurar su base de datos Encriptada por TDE como lo hace normalmente.
En este caso particular, se va a restaurar un FULL y un DIFFERENTIAL

Puede hacerlo mediante SQL-T o utilizando el Management Studio

USE [master]
RESTORE DATABASE [REMATE2G]
FROM  DISK = N'G:\Backups\BACKUP 2015 SEPTEMBER WEEK 39  -  REMATE2G.BAK'
WITH  FILE = 3, 
MOVE N'LOG_TRANSACTION' TO N'J:\LDF\REMATE2G_LOG.ldf', 
NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 5

RESTORE DATABASE [REMATE2G]
FROM  DISK = N'G:\Backups\BACKUP 2015 SEPTEMBER WEEK 39  -  REMATE2G.BAK'
WITH  FILE = 7,  NOUNLOAD,  STATS = 5



Mover una base de datos protegida por TDE a otra instancia de SQL Server









NOTAS: (SYMMETRIC KEY) Cuando se tiene una llave simétrica dentro de la DB

















DEJAR ABIERTA LA MASTER KEY PARA EVITAR COLOCAR EL PASSWORD CONTINUAMENTE AL ABRIR LA LLAVE SIMÉTRICA

USE REMATE2G;
GO


-- AL RESTAURAR LA BASE DE DATOS EN OTRO SERVIDOR
-- EL MASTER KEY DEBE ABRIRSE PARA PODER ABRIR SU LLAVE SIMÉTRICA
-- CADA VEZ QUE SE DESEE ABRIR LA LLAVE SIMÉTRICA, SERÁ NECESARIO ABRIR LA MASTER KEY COLOCANDO SU PASSWORD
-- SIN EMBARGO, PUEDE ALTERARSE LA MASTER KEY PARA QUE ABRA EN AUTOMÁTICO
-- PRIMERO ABRIR LA MASTER KEY
OPEN MASTER KEY DECRYPTION BY PASSWORD = '*********'
-- CLOSE MASTER KEY

-- PARA PONER EN AUTOMÁTICO LA MASTER KEY, ES NECESARIO TENERLA SIEMPRE ABIERTA
-- CON EL SIGUIENTE CÓDIGO AUNQUE SE CIERRE LA MASTER KEY, ABRIRA AUTOMÁTICAMENTE
USE Remate2G;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '**********';
GO



AHORA YA SE PUEDE MANDAR ABRIR LA LLAVE SIMÉTRICA...


       OPEN SYMMETRIC KEY PasswordTableKey
       DECRYPTION BY CERTIFICATE Nombre_Certificado

La SYMETRIC KEY se utiliza para encriptar datos, información dentro de las tablas.





Cannot find server certificate with thumbprint




No hay comentarios.:

Publicar un comentario