Una de las principales tareas que debemos realizar al considerar migran un proyecto a la plataforma de Windows Azure es la migración de la base de datos. En una primera instancia hay que verificar cuales son as características que estamos utilizando de la base de datos y corroborar que no estemos utilizando ninguna característica que no se encuentre disponible. En caso de estar utilizando alguna de ella debemos identificar para que se requiere y determinar cuales son los posibles caminos alternos.

Features no disponibles en SQL Azure.

Una vez que corroboramos cada unas de estas características y en la medida de lo posible haberlas suprimido ó modificado por otros mecanismos podemos realizar la migración de nuestra base de datos. Esencialmente el motor de SQL Azure es similar al motor de SQL Server 2008 R2, con lo cual podríamos ejecutar directamente los scripts para crear la base de datos; aún así, hay distintas consideraciones que debemos tener en cuenta dentro de las bases de datos en Azure; por ejemplo todas las tablas deben tener índices clustered. Para validar cada una de estas características y poder adecuar los scripts así como alertarnos sobre features que estemos utilizando y que no se encuentren disponibles podemos utilizar la herramienta de migración de bases de datos. SQL Azure Migration Wizard. Esta herramienta nos permitirá generar los scripts para crear nuestra base de datos en SQL Azure; aún así, hay muchas características y validaciones que debemos realizarlas en forma manual.

image En el paso inicial podemos seleccionar la opción SQL Database del grupo Analyze and Migrate. Esta funcionalidad nos genera los scripts para poder crear los elementos de nuestra base de datos dentro de SQL Azure y al mismo tiempo nos generan los scripts para migrar los datos contenidos en las tablas a migrar.
base de datos Luego especificamos la conexión a la base de datos que vamos a utilizar para la migración.
image En el paso siguiente debemos especificar cuales son los componentes que deseamos migrar. Si bien lo más común es migrar toda la base de datos es aconsejable que se realicen los scripts por separado siguiendo el siguiente orden, primero las tablas, luego las vistas o funciones y por último los stored procedures.
Al realizar cada uno de estos componentes por separado nos permite identificar más fácilmente los errores que nos marque la herramienta y podemos corregirlos en forma independiente. Al generar primero las tablas nos aseguramos que la estructura y campos de cada una sean válidos, así como los índices. Una vez que la herramienta hace su procesamiento y nos genera el script debemos correrlo en forma manual para terminar de depurarlo y modificarlo si es necesario. Una vez que el script es procesado por SQL Azure correctamente podemos continuar con las vistas o funciones, y finalizar con los stored procedures haciendo el mismo procedimiento que hicimos con las tablas.

base de datos Al ejecutar proceso de análisis de migración vamos a ver que varias modificaciones son realizadas en automático. Nuestra primer tarea es verificar que ninguna de esas conversiones realizadas afecten al funcionamiento de nuestro sistema. Por otro lado, varios de los mensajes nos advertirán de modificaciones que debemos realizar que la herramienta no puede hacerlo en forma automática; para solucionar cada una de estas debemos ver el log dejado por la herramienta y proceder a la ejecución manual del script en donde vamos a poder identificar cada uno de los errores que nos informe SQL Azure sobre el script que estamos intentando desplegar.
base de datos En la solapa derecha podemos ver el script generado por la herramienta, guardarlo y procesarlo manualmente utilizando el Management Console del SQL Server 2008 R2 para conectarnos a la base de datos de SQL Azure y hacer el despliegue de nuestras tablas, vistas, funciones y stored procedures.
Podemos ver que al final del script de las tablas tenemos los comandos para restaurar los datos, los cuales se encuentran en archivos .dat guardados por la herramienta.

Esta herramienta también posee una aplicación batch que nos permite hacer la ejecución de los scripts y la misma sirve para subir los datos hacia SQL Azure.

About these ads