SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
1.
Migración a SQL Server 2008
Enrique Catalá
Rubén Garrigós
2.
Agenda
• La transición a SQL Server 2008
• Migración del motor relacional
• Experiencias de migración
3.
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
4.
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
5.
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
6.
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
7.
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?
8.
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
12.
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
13.
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
14.
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
16.
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.
17.
Por si algo se escapa…
• Por ejemplo: Monitorizar el grupo de contadores
“Deprecated Features” añadiendo alertas
18.
EXPERIENCIAS DE MIGRACIÓN
La verdad está ahí fuera
19.
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