Modelo de Migración usado: “side-by-side”
Se trata del modelo de migración más común y más versátil puesto que el destino final es una nueva instancia de SQL Server 2012, bien sea en la misma máquina donde reside la antigua, o un nuevo servidor preparado especialmente para la migración.
Las ventajas frente al modelo de actualización “in-place” son:
ü Se pueden migrar componentes de forma atómica. Esto quiere decir, que podemos migrar únicamente el motor relacional, dejando que el resto de servicios permanezcan funcionando en la antigua instancia de SQL Server
ü Se permite la migración de 32 a 64 bits
ü Se permite la actualización de la versión del Sistema Operativo (normalmente viene asociado a un nuevo servidor en el que se instala la última versión de Windows Server pasando por ejemplo de un Windows Server 2003 con SQL Server 2005 a Windows Server 2008 R2 con SQL Server 2008/2008 R2/2012)
ü Se permite la migración a un servidor más potente. Al no estar ligados a la actualización del servicio, se puede comprar nuevo hardware destinado para SQL Server, y migrar los datos de la antigua instancia al nuevo servidor.
ü Se puede migrar un conjunto de bases de datos, en lugar de todas las bases de datos: escenario apropiado en instancias de SQL Server que tienen aplicaciones de diferentes proveedores y alguno de ellos no soporta “todavía” la migración a SQL Server 2005-2008-2008R2-2012.
Pasos para una migración: “side-by-side”
1. Instalar una nueva instancia SQL Server 2012.
2. Ejecutar el programa Microsoft SQL Server 2012 Upgrade Advisor
contra la instancia (SQL Server 2005, 2008, 2008 R2) a migrar y resolver
todas las advertencias.
3. Parar toda actividad de la instancia SQL Server a migrar (desconexión de
usuarios incluida).
4. Transferir los datos a la nueva instancia (mover backups, paquetes DTS,
etc.)
5. Restaurar los objetos sobre la nueva instancia.
6. Una vez validado que todo funciona con normalidad, desconectar o
desinstalar la instancia de SQL Server migrada si es necesario.
Microsoft SQL Server 2012 Upgrade Advisor
La herramienta se encuentra incluida en el DVD de instalación, sin embargo
se puede descargar de la siguiente dirección:
http://www.microsoft.com/downloads/details.aspx?familyid=F5A6C5E9-
4CD9-4E42-A21C-7291E7F0F852&displaylang=en
SQL Server Upgrade Advisor (SSUA) está pensado para instalarse en un equipo diferente al de producción, por lo que está preparado para solicitar la instancia y servicios a analizar, así como el usuario (con permisos sysadmin) que necesitemos para conectarnos y realizar el análisis.
Tareas de la migración: “side-by-side”
1. Ejecución del SQL Upgrade Advisor.
2. Interpretación y explicación del resultado del SQL Upgrade Advisor.
3. Instalación de SQL Server 2012 siguiendo buenas prácticas.
4. Plantear migración de paquetes DTS a SSIS o ejecución en modo compatibilidad.
5. Plantear migración de Cubos SQL 2005, 2008 y 2008 R2 regenerándolos desde 0, actualizándolos automáticamente con el asistente o simplemente manteniendo la instancia de SQL 2005, 2008, 2008 R2 pero accediendo desde SQL 2012.
6. Creación de un script de migración para el día de paso a producción y realizar las pruebas correspondientes en pre-producción.
Planificando la migración
Antes de iniciar a planificar la migración debemos de validar los cambios de
arquitectura y mejoras de la herramienta. Con este paso podemos detectar
posibles pérdidas de funcionalidad con las que actualmente estamos
trabajando.
Compatibilidad con versiones anteriores
http://msdn.microsoft.com/es-es/library/cc280407.aspx
Características obsoletas de SQL Server en SQL Server 2012
http://msdn.microsoft.com/es-es/library/cc707789.aspx
Compatibilidad con versiones anteriores del Motor de base de datos de SQL Server
http://msdn.microsoft.com/es-es/library/ms143532.aspx
Principales cambios en las características del Motor de base de datos de SQL Server 2012
http://msdn.microsoft.com/es-es/library/ms143179.aspx
Características descontinuadas de SQL Server en SQL Server 2012
http://msdn.microsoft.com/es-es/library/cc707782.aspx
Plan de pruebas y validación
El mejor escenario para cualquier migración es aquella donde se puedan realizar pruebas, ya que ahí será donde validemos si todo se puede realizar correctamente, y en el caso de que no, poder ver los potenciales errores para poder proporcionar una solución.
Bajo este escenario los pasos a seguir son:
• Revisar los problemas de migración
• Corregirlos (a nivel de código)
• Aplicarlos
• Ejecutar nuevamente Microsoft SQL Server 2012 Upgrade Advisor (SSUA)
y corroborar que ya no exista error alguno.
Llevándolo a SQL Server 2012
Una vez resueltos los problemas de migración en código. Ahora nosotros debemos de llevarnos la base de datos a la nueva versión los pasos a seguir son:
1. Restaurar la base de datos en el servidor SQL Server 2012
2. Cambiar compatibilidad de 2005, 2008, 2008 R2 a 2012
--Primero ponemos la base de datos a modo mono-usuario
ALTER DATABASE [BDMigrar] SET SINGLE_USER
GO
--Cambiamos el nivel de compatibilidad de 2005/08/08R2 a 2012
EXEC sp_dbcmptlevel [BDMigrar], 110;
GO
--Por ultimo regresamos la base de datos a modo multi-usuario
ALTER DATABASE [BDMigrar] SET MULTI_USER
GO
3. Ejecutar DBCC CHECKDB para validar la salud de nuestra BD
USE [BDMigrar]
GO
DBCC CHECKDB;
GO
4. Ejecutar DBCC UPDATEUSAGE para actualizar paginas
USE [BDMigrar]
GO
DBCC UPDATEUSAGE ([BDMigrar])
GO
5. Reconstruir índices
USE [BDMigrar]
GO
ALTER INDEX [NombreIndice] ON [dbo].[TablaMigrada] REBUILD
PARTITION = ALL WITH ( PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, ONLINE = OFF, SORT_IN_TEMPDB = OFF
)
GO
6. Actualizar Estadísticas
use [BDMigrar]
GO
UPDATE STATISTICS [dbo].[TablaMigrada]
WITH FULLSCAN
GO
Fuentes:
Microsoft, msdn, SolidQ
Apunte y recopilación por Norman M. Pardell
Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.