Como migrar SQL 2000 a SQL 2005

El documento no va destinado a la migración de sistemas pequeños, entendiendo por pequeño no aquel que ocupa pocos GB, sino el que no es de misión crítica o en el que tener diseñado un plan de vuelta atrás y unas garantías ferreas de éxito no es absolutamente necesario. Incluye una descripción profunda  (o eso creo yo) del proceso de migración que garantiza la fiabilidad y seguridad de la migración.

Desde esta visión hasta una migración On-site sin plan de pruebas y vuelta atrás hay todo un abanico amplísimo de soluciones que pueden estar comprometidas a la vez tanto con la seguridad del proceso como con la agilidad de su implementación.

Razones para migrar a SQL 2005

Tanto desde el punto de vista de disponibilidad, como del de programabilidad SQL Server 2005 ofrece ventajas que son muy necesarias para muchos usuarios de SQL Server 2000, incluso de otras plataformas como Oracle o DB2.

Algunas razones pueden ser:

·         Database Mirroring. Que nos permita tener un centro remoto de respaldo

·         Read Committed Snapshot isolation. Que evitará que lectores bloqueen o se vean bloqueados por escritores mejorando la concurrencia del sistema.

·         Escalabilidad en 64 bits. En las aplicaciones en donde muchas consultas son lanzadas ad-hoc usando mucho espacio en syscacheobjects, convirtiendo el sistema en 64 bits, esta caché puede ser almacenada en todo el espacio.

·         Parameterization forced. Para el mismo caso anterior, incluso las consultas ad-hoc intentan ser parametrizadas para que su plan de ejecución pueda ser rehusado.

·         Reporting Services. Que pueden ayudar tremendamente a evitar lecturas innecesarias en los sistemas de producción con sus mecanismos de caché. (Ya disponibles en SQL 2000)

·         Mejoras en programabilidad. Common Table Expresions que pueden ayudarnos a recorrer jerarquías, los comandos Pivot y Unpivot que pueden ser muy útiles a la hora de hacer resúmenes de datos, las nuevas funciones de Ranking, y un sin fin de novedades.

·         Arquitecturas asíncronas con Service Broker. Service bróker puede ayudar a la descongestión de aplicaciones derivando algunos procesos a procesos asíncronos y mejorando la experiencia del usuario.

·         Plataforma completa de BI incluida. Muchas son las utilidades que incluye la plataforma de BI, como los servicios de integración (SSIS) que pueden ayudar en la importación y consolidación de fuentes de datos, o Reporting Services (SSRS) mencionados anteriormente, o los Analisys Services (SSAS) que incluye además del motor multidimensional con significativas mejoras, los nuevos algoritmos de minería de datos que pueden ayudar en la categorización y detección de patrones en los datos, etc.

Proceso de migración

Primeros pasos

La migración del servicio de SQL Server 2000 a 2005 puede realizarse de múltiples formas diferentes, sin embargo la intención del documento es ayudar a diseñar un modelo que permita la mayor robustez en el proceso, previendo en cada momento la vuelta atrás tranquila y asegurando que esta vuelta atrás será posible sin pérdida alguna de datos.

En cualquier caso, la migración del servicio SQL 2000 a SQL 2005 no tiene gran dificultad, lo realmente complejo es garantizar de una forma fiable que los aplicativos seguirán funcionando en la nueva infraestructura tal y como lo hacían en la anterior.

Nota: Entendemos razonable haber puesto todos los mecanismos necesarios para garantizar que funcionarán bien las aplicaciones, haber pasado los test de aceptación que se diseñen y que esos test hayan resultado exitosas. Aún así siempre pueden surgir imponderables, para ese caso, para el caso en que se presente un imponderable es para el que se diseñará el paso de vuelta atrás.

Para garantizar esto se realizarán los siguientes pasos:

  • Captura de trazas significativas de los sistemas en producción. Estas trazas reflejan toda la actividad de un servidor, no solamente el código T-SQL escrito en sus procedimientos almacenados.
  • Pasar el test del SQL Server upgrade advisor. El upgrade advisor aconseja sobre los cambios necesarios para garantizar que las aplicaciones funcionarán en SQL Server 2005. Este consejero nos dará una lista de tareas que tendrá que acometerse en desarrollo. Estas tareas deberán ser planificadas y realizadas por el departamento de desarrollo
  • Instalar un segundo cluster con suficiente almacenamiento. En este segundo cluster instalaremos SQL Server 2005, y restauraremos todas las bases de datos , pondremos el modo de compatibilidad en 2005 y realizaremos tareas de reindexación.
  • Probaremos los aplicativos. Este paso garantizará que las aplicaciones podrán funcionar adecuadamente con SQL Server 2005. Durante el desarrollo de la migración habrá que describir cuales son los criterios de aceptación para cada aplicación e incluso solucionar problemas particulares de cada aplicación. Por ejemplo si las aplicaciones tienen hard-code cadenas de conexión, direcciones ip, etc.

 

Proceso de Migración

Una vez garantizado el éxito de la migración de las aplicaciones e implementados los cambios necesarios en cada una de ellas  y superados los imprevistos (por ejemplo que alguna no pueda ser migrada o no aparezca el código fuente),  se procederá de la siguiente forma.

  • Backup completo de todas las bases de datos de origen
  • Restore en destino con la opción with norecovery
  • Se crearán unas tareas que hagan backups de los logs, los copien a destino y los restauren en destino (como hace log-shipping)
  • Se estimará el tiempo necesario para restaurar los logs y como va decrementando este tiempo conforme los trabajos van estabilizando el proceso.
  • Se elegirá el momento de la parada en base al cálculo de tiempo que resulte del paso anterior (típicamente unos pocos minutos por mucho tamaño que tenga la BBDD)
  • Se parará la entrada de información en origen.
  • Se restaurará la cola de los logs y se lanzará un script previamente preparado que ponga las bases de datos disponibles.
  • Se montarán de nuevo las replicaciones tal y como están en origen. Esto puede hacerse generando los scripts de replicación que habrán de ser testados en las pruebas iniciales.
  • Se pasará el test de aceptación de todas las aplicaciones antes de dar la migración por exitosa
  • Se montará replicación de las tablas más importantes para tener prevista una vuelta atrás a 2000
  • Se mantendrá esa replicación hasta que el correcto funcionamiento de todo esté completo.

Tareas finales

Se volverán a capturar esperas y trazas para detectar posible cuellos de botella por cambios de comportamiento de ciertas instrucciones, aunque no debemos esperar inicialmente encontrar gran cosa, hay que hacer esa búsqueda, garantizando que la migración resulta transparente a los usuarios.

Herramientas incluidas con SQL Server 2005

Cuando se compra una licencia de SQL Server no solo se compra el motor relacional y en muchas ocasiones el motor multidimensional, los paquetes de SSIS o los servicios de Reporting Services pueden aportar tanto o más valor que el propio motor relacional. Un curso de introducción creando ejemplos reales con los datos del cliente que pueden ser de tremenda utilidad una vez conocidos.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: