Migrar datos de SQL Azure a SQL Server

Una forma sencilla de mover datos de SQL Azure a SQL Server es utilizar la capacidad de generar ficheros bacpac del portal de Azure y la posibilidad de importar estos ficheros con SQL Management Studio 2012.

Los ficheros bacpac guardan de forma compacta el esquema y datos de una base de datos. Estos ficheros pueden ser utilizados posteriormente para restaurar las bases de datos.

El proceso manual para migrar una base de datos de SQL Azure a SQL Server On-Premise es el siguiente:

1 – En el portal de Azure, seleccionar la opción de base de datos «Export».

2 – Indicar en el formulario desplegado, la base de datos a exportar y la cuenta de almacenamiento de Azure donde se va a guardar el fichero bacpac.

Es importante notar que la generación del fichero bacpac no es transaccionalmente consistente, y es recomendable, primero realizar una copia de la base de datos SQL Azure con el comando «CREATE DATABASE AS COPY», el cual sí es transaccionalmente consistente, y luego generar el bacpac de la copia de base de datos.

3 – En el SQL Management Studio 2012, seleccionar la opción «Import Data-tier Application…»

4 – Indicar en el wizard desplegado, la cuenta de almacenamiento de Azure donde se encuentra el fichero bacpac generado y el nombre de base de datos que generará el proceso de importación.

Notar que el SQL Management Studio tiene que ser versión 2012, pero el motor de base de datos donde se realiza la importación puede ser del SQL Server 2008 R2 en adelante.

Y con esto, recuperamos On-Premise los datos que teníamos en Azure.