Nos encontramos en unos tiempos en los que muchas empresas están migrando a Azure, ya sea total o parcialmente. Uno de los primeros elementos que se aventuran a probar es el almacenamiento y más en concreto el Backup a Azure, ya que sobretodo las empresas pequeñas no tienen un método seguro de poder conservar sus copias.

Si disponéis de una edición Enterprise de SQL Server, podéis hacer un Backup Mirror To, o lo que es lo mismo, un backup copiado en varias localizaciones (no confundirse con un backup dividido en varios ficheros).

Si os aventuráis a probar la funcionalidad MIRROR TO, pronto os encontraréis que no se puede realizar un backup a disco On Premise y hacer un mirror a una URL de Azure:

Mirroring applies both to disk and tape (disks do not support continuation tapes). All backup devices for a single backup or restore operation must be of the same type, disk or tape. 

https://msdn.microsoft.com/en-us/library/ms175053.aspx

Por lo que hay que buscar una alternativa para que SQL Server crea que las dos localizaciones son del mismo tipo.

Lo primero que vamos a tener que hacer es crear un Azure File Share, si no sabéis como crearlo, mi compañero Nacho Cotanda hizo una entrada al respecto hace unas semanas Creando una ruta compartida en Azure en 5 minutos.

Una vez tengamos creado el File Share, tenemos que habilitar en la configuración de SQL Server xp_cmdshell:

Mas información sobre xp_cmdshell en https://msdn.microsoft.com/en-us/library/ms190693.aspx

Una vez esté habilitado ya podemos crear nuestro pequeño script, que constará de tres partes:

  • Crear la unidad compartida en tiempo de ejecución
  • Realizar el backup
  • Borrar la unidad compartida

Con esto ya podremos tener de una manera simple nuestro backup en Local y copiado en Azure.

BONUS TRACK

Si para realizar vuestros backups utilizáis los famosos scripts de Ola Hallengren (si no lo hacéis, deberíais empezar a hacerlo) , podréis utilizar el siguiente script:

Ya sabéis, si os ha servido.. ¡Compartidla!

Recent Posts

Leave a Comment