Usando el almacenamiento de Azure como repositorio de nuestros backups de SQL SERVER

 

Un apartado interesante para aumentar nuestro nivel de recuperación ante desastres que nos ofrece Azure, es poder guardar  las copias de las bases de datos de SQL SERVER de cualquier versión disponible ( excepto SQL SERVER 2000 ) usando el almacenamiento de Azure en vez de tenerlo localmente en nuestras oficinas.

 

Esto, unido a que el almacenamiento puede tener redundancia local y/o geográfica, ( URL: https://www.windowsazure.com/es-es/pricing/details/storage/, es decir, existen multiples copias de tus ficheros en diferentes ubicaciones), nos amplía en varios grados la seguridad de nuestras copias de seguridad.

 

Para poder tener esta opción, SQL SERVER nos ofrece la posibilidad de realizar las copias de seguridad directamente sobre un almacenamiento de Azure. Para ello, tenemos dos opciones dependiendo de la versión que mantengamos:

 

1) Para SQL SERVER 2012, a partir de la version Service Pack 1 Cumulative Update 4,  lo podemos descargar desde: https://support.microsoft.com/kb/2833645. Tendremos la posibilidad de realizar los backups directamente desde el comando BACKUP de SQL SERVER ( URLs: https://technet.microsoft.com/en-us/library/jj919149.aspx y https://msdn.microsoft.com/en-us/library/dn435916(v=sql.120).aspx ),  incluyendo todas las opciones de compresión, encriptación, diferencial, LOG, MIRROR TO, etc.. Básicamente, lo que tenemos que tener en cuenta es que, dependiendo del tamaño de la base de datos, necesitaremos un adecuado rendimiento de nuestra red. Para realizar un pequeño ejemplo de backup, se necesitan dos pasos sencillos:

 

    • Primero, una vez creado el blod storage usando el portal de Azure, debemos especificar la credencial que usaremos para las copias de seguridad.

 

IF NOT EXISTS
(SELECT * FROM sys.credentials
WHERE credential_identity = 'mycredential')
CREATE CREDENTIAL <credential name> WITH IDENTITY = 'mystorageaccount'
,SECRET = '<storage access key> ;

 

    • Una vez creada la credencial, ya sólo nos basta con ejecutar el comando de backup, log, diferencial, etc.. que necesitemos.

 

BACKUP DATABASE <basededatos> TO URL = 'https://blobstorage.blob.core.windows.net/usercontainer/file.bak' WITH CREDENTIAL = 'mycredentialname' ,COMPRESSION ,STATS = 5

 

2) Para versiones anteriores de SQL SERVER 2012 tenemos otra opción: https://www.microsoft.com/en-us/download/details.aspx?id=40740, Encriptación y compresión de los datos podrían no estar como opciones de la version; por ejemplo, actualmente las versiones SQL Server 2008 y superiores soportan compresión durante el backup pero sólo en una edición Enterprise. Sin embargo para SQL Server 2008 R2 y superiors la encriptación es soportada en ediciones Standard o superior.
 

 

Feliz Proceso de Backup de SQL SERVER en Azure!!!

 

José Manuel Jurado Diaz

SQL Server Core y SQL Azure Support Engineer