2013/12/23

Encriptación de Backups en SQL Server 2014 CTP2

Una de las novedades mas interesantes en los backups de SQL Server 2014 es la posibilidad de poderlos encriptar. En versiones anteriores si deseábamos tener seguridad en los backup debíamos encriptar toda la base de datos usando TDE. Ahora bien, aun es posible seguir encriptando la base de datos pero en 2014 podemos hacer un backup encriptado con certificados sin esa necesidad.
En este post veremos como es el procedimiento.
  • Lo primero que debemos hacer es crear en el servidor una Master KEY, para lo cual usaremos el siguiente código de ejemplo:
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Passw0rd!!!';
  • Luego de tener la Master Key debemos crear el certificado en el servidor
Use Master
GO

CREATE CERTIFICATE CertificadoBK
WITH SUBJECT = 'Certificado para Backups';
  • El próximo paso es hacer un backup del Certificado para luego poderlo restaurar en el servidor destino o bien tenerlo como respaldo.
USE master
GO
BACKUP CERTIFICATE CertificadoBK 
TO FILE = 'c:\tmp\BKPCERT.cer'
WITH PRIVATE KEY (FILE = 'C:\TMP\BKP_Key.pvk' ,
ENCRYPTION BY PASSWORD = 'mY_P@$$w0rd' )
GO
  • Ya tenemos la instancia lista para poder usar la encriptación, ahora lo que haremos es realizar un backup encriptado usando TSQL, también se puede hacer por UI.
BACKUP DATABASE [AdventureWorks2012]
TO DISK = N'C:\tmp\adw_encrypt.bak'
 WITH
 ENCRYPTION
 (
 ALGORITHM = AES_256,
 SERVER CERTIFICATE = CertificadoBK
 ),
 STATS = 10
 GO

BackupCompression y Encriptación
La encriptación no tiene efectos negativos sobre la compresión del backup, en otras palabras podemos tener el backup comprimido y encriptado al mismo tiempo. Aquí un cuadro de resultados

Base de datos Size Encriptado 
& Comprimido
Size Comprimido 
& no Encriptado

ADW 45MB 45MB

Como exportar todos los JOBs usando el Management Studio

En varias ocasiones necesitamos exportar los JOBs (trabajos) del agente a otro servidor, por ejemplo para una migración. Esta operación se puede hacer de forma simple desde el SQL Server Management Studio como veremos a continuación.
Paso 1: Entre a la instancia origen con su SSMS.
Paso 2: Vaya al agent de SQL Server como se muestra en la siguiente imagen
jobs1
Paso 3: Seleccione la opción JOB
jobs2
Paso 4: Activamos el Object Detail, para ello podemos ir al menú view y luego a la opción : Object Explorer Details o bien pulsar F7.
jobs3
Paso 5: Desde el object Explorer Details seleccionar todos los JOBS a exportar
jobs4
Paso 6: Pulsar el botón alterno del mouse sobre el object explorer Details y seleccionar : Script Jobs as –> CREATE TO – File .
Seleccionamos la ubicación y el nombre del archivo a guardar y ya tendremos los jobs en modo Script, ahora lo único que nos hace falta es abrir el .SQL en el servidor destino y ejecutarlo.
Nota: No se olvide de pasar los operadores previamente, para ello puede usar este mismo procedimiento pero en lugar de ir al menú JOBS del Agent debe seleccionar Operators

Fuente: http://blog.maxiaccotto.com