Migración a sql server 2008

21
Migración a SQL Server 2008 Enrique Catalá Rubén Garrigós

Transcript of Migración a sql server 2008

Page 1: Migración a sql server 2008

Migración a SQL Server 2008

Enrique Catalá

Rubén Garrigós

Page 2: Migración a sql server 2008

Agenda

• La transición a SQL Server 2008

• Migración del motor relacional

• Experiencias de migración

Page 3: Migración a sql server 2008

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

Page 4: Migración a sql server 2008

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

Page 5: Migración a sql server 2008

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

Page 6: Migración a sql server 2008

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

Page 7: Migración a sql server 2008

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?

Page 8: Migración a sql server 2008

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

Page 9: Migración a sql server 2008

Upgrade Advisor

Page 10: Migración a sql server 2008

Upgrade Advisor

Page 11: Migración a sql server 2008

Upgrade Advisor

Page 12: Migración a sql server 2008

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

Page 13: Migración a sql server 2008

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

Page 14: Migración a sql server 2008

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

Page 15: Migración a sql server 2008

SAC Facets

Page 16: Migración a sql server 2008

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.

Page 17: Migración a sql server 2008

Por si algo se escapa…

• Por ejemplo: Monitorizar el grupo de contadores

“Deprecated Features” añadiendo alertas

Page 18: Migración a sql server 2008

La verdad está ahí fuera

EXPERIENCIAS DE MIGRACIÓN

Page 19: Migración a sql server 2008

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

Page 20: Migración a sql server 2008

Recursos

• SQL Server 2008 Upgrade Technical Reference Guide

• Books Online 2008

Page 21: Migración a sql server 2008

[email protected]

[email protected]

http://blogs.solidq.com/ES/ElRinconDelDBA

¿PREGUNTAS?