Como hacer una migración de SQL Server

Esta nota es un resumen de los puntos principales de la Charla de Maxi Accotto en el Edificio de Microsoft Argentina el pasado martes 19 de Abril de 2011. Esta charla trató sobre las estrategias correctas para implementar un plan de migración exitoso de una versión a otra de SQL Server.

1. Razones para migrar:
1.a) Por los nuevos features.
1.b) Por las mejoras a nivel rendimiento.
1.c) Las viejas versiones pierden soporte (sql server 7 y 2000 perdieron soporte oficial)

2. Armar un plan de Migración
2.1) El plan de migración contiene los pasos reproducibles para una migración exitosa.
2.2) Relevar todas las bases de datos a ser migradas/actualizada para detectar bases que tienen versiones no migrables (por ejemplo SQL Server 7 no puede ser migrado directamente a SQL Server 2008)
2.3) El Upgrade Advisor se ejecuta sobre el servidor a ser migrado para indicar problemas e issues: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f5a6c5e9-4cd9-4e42-a21c-7291e7f0f852&displaylang=en
2.4) El upgrade advisor puede tomar trazas del profiler previamente guardadas para dar un análisis mas certero de cambios y eventuales problemas e incompatibilidades.
2.5) Nunca está de mas leer la documentación oficial de Microsoft acerca de las buenas prácticas (best practices) para migrar servidores SQL : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=66d3e6f5-6902-4fdd-af75-9975aea5bea7&displaylang=en

3. Como realizar la migración:
3.1) In place Upgrade (no recomendada por limitar la posibilidad de rollback).
3.2) Punto a punto.

4. Puntos a garantizar en la migración.
4.1) Parte funcional de la base.
4.2) Performance.

5. Analisis de performance previo.
5.1.) RML Tools. Se toman las trazas de profiler de Replay y se aplican en el destino utilizando las herramientas RML. Las rml tools se descargan desde aquí: para X86 y para 64bits
Estas herramientas tienen además otras utilidades para medir performance.

6. Tareas post migración
6.1) Update statistics
6.2) Eventualmente recrear via script todos los índices clustered.
6.3) Transferir los logins por el famoso problema del sid que dejaría huérfanos los users de base de datos en el destino. Existen dos proc que generan el script de migración: Aquí el mismo Microsoft lo explica y dá el código fuente: http://support.microsoft.com/kb/246133. Maxi Accotto modificó este script para que además transfiera los roles y pueden encontrar ese script en el blog de Maxi Accotto aquí: http://blog.maxiaccotto.com/post/2009/10/04/Pasando-Logins-entre-servidores-SQL.aspx
7. Objetos a Migrar y orden de migración
7.1. operadores
7.2. Restauran bases
7.3. Logins.
7.4. Jobs

8. Plan de Rollback por si las cosas no salen bien.

9. Estabilizar la plataforma.
9.1. Darle un tiempo a la plataforma antes de empezar a aplicar los new features de la versión

Esto es solo un resumén de puntos sobre los que pueden trabajar para armar un plan de migración para servidores SQL Server.

Hugo Bernachea (oido en la charla de Max Accotto)
http://www.linkedin.com/in/bernachea


Otras fuentes de referencia:
http://blog.maxiaccotto.com/
http://www.microsoft.com/sql
http://www.sqlservercentral.com/articles/Upgrade/65872/

Hugo Román Bernachea
Mail de contacto: SQLServer777@gmail.com

Microsoft Certified DBA
Microsoft Certified Trainer
Twitter: @bernachea

Read More...