TDE - SQL
Enviado por Juan Pablo Pucci • 3 de Septiembre de 2015 • Síntesis • 651 Palabras (3 Páginas) • 143 Visitas
--permite ver los certificados que han sido creados
SELECT * FROM SYS.certificates
--para borrar el certificado y master key en caso de que existan
DROP CERTIFICATE Certificado
DROP MASTER KEY
--permite ver el progreso del proceso de encriptacion de la base
SELECT DB_NAME(database_id),encryption_state,percent_complete FROM SYS.dm_database_encryption_keys
--EN EL SERVIDOR QUE TIENE LA BASE A ENCRIPTAR!!!!
--creo la master key en la instancia que tiene la base a encriptar
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '9qazJm27'
GO
--creo el ceritificado en la instancia que tiene la base a encriptar
CREATE CERTIFICATE AdWorks_Cert WITH SUBJECT = 'ADWORKS Cert'
GO
--hago backup del certificado y la master key de la instancia que tiene la base a encriptar
BACKUP CERTIFICATE AdWorks_Cert TO FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\ADWORKS_Cert.cer'
WITH PRIVATE KEY (FILE ='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\ADWORKS_Cert_Key.key', ENCRYPTION BY PASSWORD = '9qazJm27')
--creo la key de encriptacion para la base a encriptar con el certificado creado
USE AdventureWorks
GO
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE AdWorks_Cert
--activo la ecriptacion por TDE en la base requerida
ALTER DATABASE AdventureWorks SET ENCRYPTION ON
--habo backup de la base encriptada
BACKUP DATABASE [AdventureWorks]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\AdventureWorks_TDE_ON_DEFAULT_INST_2.bak'
WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
--hago restore de la base encriptada en la misma instancia
RESTORE DATABASE [AdventureWorks]
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\AdventureWorks_TDE_ON.bak'
WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
GO
/*
10 percent processed.
20 percent processed.
30 percent processed.
40 percent processed.
50 percent processed.
60 percent processed.
70 percent processed.
80 percent processed.
90 percent processed.
100 percent processed.
Processed 21280 pages for database 'AdventureWorks', file 'AdventureWorks_Data' on file 1.
Processed 1 pages for database 'AdventureWorks', file 'AdventureWorks_Log' on file 1.
RESTORE DATABASE successfully processed 21281 pages in 7.666 seconds (21.687 MB/sec).
*/
--En el servidor de DESTINO tengo que crear la master key con la misma password que estâ en ORIGEN.
En el caso que haya que hacer un restore de una base que hace tiempo que fue creada en ORIGEN, hay que hacer backup del certificado y de la master key para que no hayan problemas, ya que tiene que ser ACTUAL.
--ESTO ES CLAVE, porque sino tira error!
--****************************************************************************
USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '9qazJmd27'
GO
--creo el certificado de ORIGEN en el servidor al cual le voy a resturar la base encriptada
CREATE CERTIFICATE AdWorks_Cert FROM FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INST1\MSSQL\Backup\ADWORKS_Cert.cer'
WITH PRIVATE KEY(FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INST1\MSSQL\Backup\ADWORKS_Cert_Key.key',DECRYPTION BY PASSWORD = '9qazJm27')
...