Usando SQL Database Migration Wizard para pasar una base de datos de SQL Server a SQL Azure
Introducción
Cuando deseamos migrar una base de datos de SQL Server a SQL Azure, experimentaremos diferentes fases de sentimientos encontrados, y es que pasar estructuras de tablas, relaciones, datos maestros y otras partes, desde una base de datos SQL Server a SQL Azure no es tarea fácil.
Sin embargo, tenemos una herramienta que nos va a facilitar enormemente las cosas para que esa transición y esa carga sea lo menos pesada posible y sí lo más liviana y ligera posible.
Esta herramienta es SQL Database MW o SQL Database Migration Wizard si se desea emplear el nombre largo de la misma.
¿Qué es SQL Database MW?
Esta herramienta gratuita nos facilitará la tarea de migrar bases de datos en SQL Server 2005, 2008 y 2012 a SQL Azure.
Existen dos versiones:
SQL Database Migration Wizard v3.x.x que requiere SQL Server 2008 R2 SP1.
SQL Database Migration Wizard v4.x.x que requiere SQL Server 2012.
¿Dónde localizar SQL Database MW?
Esta herramienta la podemos localizar en codeplex.
Ejecutando la herramienta
Lo primero que tenemos que hacer, es descargar los binarios de la herramienta y descomprimir los archivos de la misma en una carpeta.
Una vez hecho esto, ejecutaremos la aplicación (en mi caso, la versión 3.9.9.1 y el fichero SQLAzureMW.exe).
La aplicación se mostrará en una ventana similar a la siguiente:
En nuestro caso, voy a migrar una tabla con datos de SQL Server a SQL Azure para lo cual, seleccionaré la opción de Analyze/Migrate y en concreto, la primera opción Database.
A continuación, pulsaremos el botón Next.
Una vez hecho esto, aparecerá una ventana para establecer la conexión con la fuente origen de datos.
Seleccionaremos el servidor y las características de conexión correspondientes.
Como se puede apreciar, adicionalmente he decidido indicarle a la herramienta, que me muestre todas las bases de datos de dicha conexión para indicarle la que quiero migrar.
Otra opción es seleccionar la opción Specify Database para indicarle el nombre concreto de la base de datos, pero la opción Master DB es la opción más cómoda.
Estableceremos la conexión pulsando el botón Connect y aparecerá una nueva ventana con el listado de todas las bases de datos.
Seleccionaremos la que queremos migrar.
Pulsaremos el botón Next para continuar.
Aparecerá una nueva ventana que nos permitirá seleccionar las partes de objetos de SQL Server que queremos migrar.
En principio y para mi prueba, he decidido seleccionar todos los objetos.
Una vez resuelto este punto, volveremos a pulsar el botón Next.
Aparecerá entonces, una nueva ventana con un resumen de los objetos seleccionados anteriormente.
Una vez más, pulsaremos el botón Next.
Aparecerá una ventana de diálogo que nos preguntará si deseamos crear el script o no.
Pulsamos afirmativamente y la herramienta empezará a preparar el script por nosotros.
Una vez finalice el proceso, podremos revisar el informe de generación del script y el script en sí.
Si queremos, podemos guardar esta información o pasar de ella como voy a hacer yo en esta demostración.
Como todo el rato hasta ahora, volveremos a pulsar el botón Next.
En este momento, seleccionaremos la conexión destino con nuestra base de datos SQL Azure y estableceremos la conexión correspondiente al igual que hicimos para el origen de datos en SQL Server.
Una vez que hemos indicado los datos de conexión con SQL Azure correspondientes, haremos clic en el botón Connect.
Si todo ha ido tal y como se espera, la aplicación nos mostrará un listado de las bases de datos de SQL Azure.
La base de datos ya la tengo creada y lo que voy a hacer es pasar las tablas de SQL Server a SQL Azure, así como sus datos, etc.
Por lo tanto, una vez seleccionada la base de datos del listado anterior, haremos clic en el botón Next.
Aparecerá una ventana de notificación preguntándonos si queremos ejecutar el script contra el servidor de SQL destino (nuestro SQL Azure), a lo que responderemos afirmativamente.
El proceso de migración dará comienzo y se empezarán a pasar datos.
Si todo va bien, el proceso finalizará sin ningún error después de unos minutos.
Ya solamente tenemos que hacer clic en el botón Exit para cerrar la aplicación.
Como vemos, se trata de una herramienta muy sencilla de utilizar y que nos ahorra mucho tiempo y muchos pasos, asegurándonos un proceso rápido, seguro y limpio.
Si ahora abrimos SQL Server Management Studio por ejemplo e indicamos los parámetros de conexión (servidor, usuario y contraseña), podremos probar que los datos han sido migrados correctamente y todo está según lo esperado.