Migración a SQL Server 2008
Enrique Catalá
Rubén Garrigós
Agenda
• La transición a SQL Server 2008
• Migración del motor relacional
• Experiencias de migración
La transición a SQL Server 2008
• Consideraciones
• ¿Será SQL Server 2008 un fin o un medio?
• ¿Cuánto esfuerzo estamos dispuestos a asumir?
• ¿Es un sistema crítico?
• ¿Forma parte de algo más ambicioso?
o 32 bits 64 bits
o Windows Server 2000/2003 Windows Server 2008 (R2?)
o Físico Virtual
• No hay un único plan “válido” para todas las
migraciones y por tanto debe considerada un
proyecto en si misma
Estrategias de migración
• In-place, conocida por “¿quién dijo miedo?“
• Útil cuando no disponemos de hardware adicional
• No podemos subir de 32 a 64 bits
• Actualizamos toda la instancia, no podemos ir “poco a
poco” y pasar base de datos a base de datos.
• Puede minimizar el tiempo de migración
• No cambia el nombre del servidor/instancia
• Más riesgos que deben minimizarse
o Backup previo completo
o RAID 1? 2 discos? Quizás mejor 3
o Cabina de almacenamiento: Split mirror
Estrategias de migración
• Side by side
• Crea una nueva instancia, en el mismo servidor o no.
o Migración a virtual más sencilla
o Nos vale para generar un entorno de pruebas en 2008
• Permite cambiar de SO, de 32 a 64 bits, etc.
• Al finalizar tendremos dos instancias activas
• Requiere más recursos
o Al menos, espacio en disco x2.
• Las bases de datos se “desincronizan” desde el mismo
instante que finaliza la migración
o La vuelta atrás no es transparente
SQL Server 2008: un fin o un medio
• Mejores resultados cuando es un medio
• Cuando es un fin…
• Modo de compatibilidad (80, 90 o 100)
o Sintaxis outer join *= y =*
o Nuevas palabras reservadas: PIVOT, MERGE…
• Mayores “incompatibilidades” entre 80 y 90
• El modo de compatibilidad no nos salvará en la
próxima versión pues desaparecerá el 80
• Impide utilizar nuevas funcionalidades
• Nunca podremos hacer un backup/restore a 2000
Fases de la migración
• Analizar todos los componentes/sistemas afectados
directa o indirectamente
• Análisis vs ejecución: 90 - 10
• No olvidemos hacer backups completos
• Las cosas siempre pueden ir mal
• Antes de migrar, validar la consistencia de las bases
de datos de 2000
• DBCC CHECKDB
• Pruebas, pruebas, pruebas, pruebas… ¿dije pruebas?
Herramientas
• Prerequisitos: System Configuration Checker
• Asistente de migración: Upgrade Advisor
• Muy útil pero no garantiza la “migrabilidad” en
realidad
• Nunca, nunca, nunca subestimar las aplicaciones
cliente
o Trazas de profiler
o Pruebas unitarias en TSQL
o El código dinámico puede ser muy traicionero
Upgrade Advisor
Upgrade Advisor
Upgrade Advisor
Vistas ordenadas/numeradas
• Una vista por definición no tiene orden, devuelve un
conjunto de datos, no una presentación de éstos
• TOP 100 percent (…) ORDER BY en SQL Server
2005/2008 diferente a 2000 salvo que:
• CU2 SQL Server 2005 SP2 + trace flag 168
• CU1 SQL Server 2008 o SQL Server 2008 SP1 (CTP)
• SELECT @p = @p + 1 ... ORDER BY
• Soportado únicamente en el nivel superior
• ROW_NUMBER()
• Mejor alternativa Cambiar el código
BACKUP LOG
• No soportado
• WITH NO_LOG
• WITH TRUNCATE_ONLY
• Modo de recuperación FULL SIMPLE
• Hacer backups del log
• Que no nos interesan? Los borramos posteriormente
• Queremos reducir el tamaño del log
o Checkpoint, backup y shrink Mejor prevenir que curar
• En resumen, debemos hacer mantenimiento del log
Seguridad
• SQL Server 2005/2008 hincapié en la seguridad
• Reducción de la superficie de ataque
o SQL Server 2005 SAC (Surface Access Configuration)
o SQL Server 2008 Facetas
• Seguro pero… sigue siendo posible crear un
usuario con password en blanco “por
compatibilidad”, etc.
• CREATE LOGIN uInseguro WITH PASSWORD='',
CHECK_POLICY = OFF
SAC Facets
Para una buena migración…
• No basta con que “funcione” con SQL Server 2008
• Mejorar el código
• No utilizar nada marcado como obsoleto SQL 11
• Utilizar nuevas características
• Puede verse como una segunda fase si la migración
a 2008 va muy apretada (aunque se rehaga trabajo)
• Tipos de datos TEXT, NTEXT
• RULES
• DBCC INDEXDEFRAG/DBREINDEX
• SET ROWCOUNT
• Etc.
Por si algo se escapa…
• Por ejemplo: Monitorizar el grupo de contadores
“Deprecated Features” añadiendo alertas
La verdad está ahí fuera
EXPERIENCIAS DE MIGRACIÓN
Conclusiones
• Una migración es un proyecto en sí misma
• Nos hemos dejado mucho en el tintero (ej. Clustering)
• Y aún más si contamos toda la parte de BI…
• Las herramientas nos ayudan pero no son
suficientes por sí mismas
• Las cosas se pueden hacer regular, bien o mejor
• Vale la pena “sudar” un poco al migrar a 2008
Recursos
• SQL Server 2008 Upgrade Technical Reference Guide
• Books Online 2008
http://blogs.solidq.com/ES/ElRinconDelDBA
¿PREGUNTAS?
Top Related