Вы находитесь на странице: 1из 73

SERIE RELACIONAL

Planificando la migracin de SQL Server


2000-2005 a SQL Server 2008

SOLIDQ PRESS

Enriue Catal Bauls

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

ADVERTENCIA LEGAL
Todos los derechos de esta obra estn reservados a Guillermo Som y SolidQ Press
El editor prohbe cualquier tipo de fijacin, reproduccin, transformacin o distribucin de esta
obra, ya sea mediante venta, alquiler o cualquier otra forma de cesin de uso o comunicacin pblica de la misma, total o parcialmente, por cualquier sistema o en cualquier soporte, ya sea por
fotocopia, medio mecnico o electrnico, incluido el tratamiento informtico de la misma, en cualquier lugar del mundo.
La vulneracin de cualesquiera de estos derechos podr ser considerada como una actividad penal
tipificada en los artculos 270 y siguientes del Cdigo Penal.
La proteccin de esta obra se extiende al mundo entero, de acuerdo con las leyes y convenios internacionales.

SolidQ Press, 2010

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008


Serie Relacional
Autor: Enrique Catal Bauls
Editado por SolidQ Press
Apartado de correos 202
03340 Albatera, Alicante, Espaa
http://www.solidq.com
ISBN: 978-84-936417-6-4

SolidQ Press

Page 2 of 72

Da un giro a tu carrera profesional.

Mster en BI
http://www.solidq.com/es/MasterBI

Mster SQL Server DBA


http://www.solidq.com/es/MasterSQLServerDBA

POR

SolidQ

MASTERS CERTIFICADOS

Es tiempo de oportunidades.

Mster en SharePoint
http://www.solidq.com/es/MasterSharePoint

Infrmate Ya!
Convirtete en un profesional altamente
especializado en tecnologas Microsoft.
Bonificable a travs de la Fundacin Tripartita

Para ms informacin llama al 800.300.800 o +34 91 414 8950 o bien manda un e-mail a: ventasib@solidq.com

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Contenido
ADVERTENCIA LEGAL ............................................................................................................. 2
Introduccin .............................................................................................................................. 5
Estrategias de actualizacin ...................................................................................................... 6
Actualizacin In-Place ........................................................................................................ 6
Actualizacin Side-by-side .................................................................................................. 7
Enfoque del documento ........................................................................................................ 9
Fases de una migracin side-by-side ................................................................................... 10
Diseo de la solucin .............................................................................................................. 10
Buenas prcticas en la configuracin de SQL Server 2008 ................................................. 10
Alineamiento de particiones ........................................................................................... 10
Formateo de NTFS a bloques de 64kb ............................................................................. 12
Log on as a service ........................................................................................................... 12
Lock pages in memory ..................................................................................................... 13
Instant File Initialization .................................................................................................. 13
Configuracin de seguridad bsica .................................................................................. 13
Planificacin de la migracin .................................................................................................. 16
Caractersticas de SQL Server Obsoletas y/o discontinuadas ............................................. 16
SQL-DMO ......................................................................................................................... 16
Utilidades osql e isql ........................................................................................................ 16
Bcp ................................................................................................................................... 16
Rebuild.exe ...................................................................................................................... 17
SQL Mail ........................................................................................................................... 17
English Query ................................................................................................................... 17
Surface Area Configuration ............................................................................................. 17
Resumen de equivalencias entre herramientas de SQL Server 2000 y 2008 ..................... 17
Migracin del motor relacional ........................................................................................... 19
Minimizar el proceso de actualizacin ............................................................................ 19
Planificacin de la migracin ........................................................................................... 20
Instalacin y ejecucin de SQL Server Upgrade Advisor ..................................................... 20
Visualizar e interpretar informes generados por SSUA ...................................................... 23
Motor Relacional ............................................................................................................. 25
Data Transformation Services ......................................................................................... 30

SolidQ Press

Page 3 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Anlisis de consultas dinmicas....................................................................................... 31


Migracin de los paquetes DTS a SSIS................................................................................. 36
Qu ocurre durante la migracin? ................................................................................ 36
Guin de migracin ............................................................................................................. 37
Migracin del motor relacional ....................................................................................... 37
Solucin de problemas de actualizacin ......................................................................... 39
Migracin de paquetes DTS a SSIS .................................................................................. 39
Migracin de Analysis Services ........................................................................................ 51
Apndice ................................................................................................................................. 59
Actualizaciones de seguridad .............................................................................................. 59
Finalizacin de trazas de Sql Profiler ................................................................................... 59
Generacin de Scripts de mantenimiento .......................................................................... 59
Crear una solucin Visual Studio para gestionar todos los paquetes SSIS ...................... 61
Migracin Analysis Services en dos pasos........................................................................... 64
Idioma predeterminado de las conexiones......................................................................... 64
Seguridad en paquetes SSIS ................................................................................................ 66
Integrar la nueva instancia en el parque de aplicaciones ................................................... 67
Instalar compatibilidad con SQL Server 2000 ..................................................................... 68
Runtime DTS .................................................................................................................... 68
Diseador DTS ................................................................................................................. 69
por qu actualizar el nivel de compatibilidad? ................................................................. 70
Documentos de referencia .................................................................................................. 70
Recursos de inters ............................................................................................................. 71

SolidQ Press

Page 4 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Introduccion
El proceso de migracin hacia SQL Server 2008 no debera ser un proceso traumtico. Para
conseguirlo, hay que consensuar un plan lo suficientemente robusto y estable como para satisfacer
todas las posibles particularidades del entorno que desee migrar en cuestin. Hay que ser consciente que como en cualquier proceso de riesgo, si es llevado a cabo negligentemente puede producir un resultado final lleno de errores e incompatibilidades de ltima hora que produzcan una
migracin traumtica al final.
El siguiente libro no pretende cubrir el 100% de los factores de riesgo inherentes a un proyecto de migracin de SQL Server 2000-2005 a SQL Server 2008, sino ayudar a realizar una planificacin exitosa de la misma basndose en las experiencias que hemos tenido con nuestros clientes.
La informacin que aparece se trata de un suplemento a la informacin existente en los libros en pantalla de SQL Server 2008 y no se pretende rebatir o contradecir la informacin que en
l aparece. De este modo, si existe alguna discrepancia entre este libro y los libros en pantalla, se
asume que los libros en pantalla poseen informacin ms precisa y actualizada. Adems, sugerimos
que consulte los documentos referenciados en la seccin Apndice / Documentos de Referencia.
Para entender el siguiente documento, es necesario entender el significado de los siguientes trminos:
Actualizacin migracin
Transicin entre una versin previa de SQL Server a SQL Server 2008
Servidor
Computador fsico o virtual con el sistema operativo Windows Server 2003 2008
Componente servicio
Cualquiera de los ejecutables incluidos en la instalacin de SQL Server (motor relacional, Integration Services, Reporting Services, Analysis Services,)

SolidQ Press

Page 5 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Estrategias de actualizacion
A la hora de dar soluciones a la actualizacin de SQL Server hacia 2008, podemos realizar
dos tipos de planteamientos diferentes en funcin de nuestras necesidades:
Actualizacin in-place: Utilizando el propio instalador de SQL Server 2008, podemos actualizar directamente los servicios de SQL Server a la nueva versin
Actualizacin side-by-side: Mover los datos de la antigua instancia a la nueva instancia de
SQL Server 2008 que se debe instalar previamente. Existen dos aproximaciones
o Mismo servidor: La nueva instancia reside en el mismo servidor que la antigua
o Nuevo servidor: Existe un nuevo servidor destinado a albergar la nueva instancia
SQL Server 2008

Actualizacion In-Place
Se trata de una actualizacin en la que no es necesario realizar movimiento de datos. Una
vez concluida la misma, en el servidor actualizado ya no existe la instancia anterior de SQL Server y
solo existe la instancia SQL Server 2008.
Restricciones de una actualizacin in-place:
Se requiere que todos los componentes de SQL Server sean actualizados a la vez. Esto incluye Integration Services, Analysis Services, Reporting Services todos aquellos instalados
en el servidor en el momento de comenzar la migracin.
No es posible realizar una migracin de x32 a x64 o viceversa. En otras palabras, si se va a
migrar una instancia SQL Server 2000 x32, solo se puede migrar a SQL Server 2008 x32
No es posible migrar un subconjunto de bases de datos nicamente, puesto que se migra
el servicio en su totalidad, lo que incluye a todas las bases de datos que alberga.
Este tipo de actualizaciones por el contrario, tienen como ventaja principal que el tiempo
de migracin es mnimo, puesto que nos ahorramos todo el proceso de movimiento de datos (copia de ficheros de backup, datos,), pero hay que tener en cuenta sus principales restricciones,
que no lo hacen ideal para la mayora de las situaciones.
A grandes rasgos, el siguiente conjunto de pasos son necesarios a la hora de llevar a cabo
una migracin in-place:
1. Instalar los prerrequisitos de SQL Server 2008
2. Lanzar el proceso de actualizacin in-place
3. Reparar los potenciales problemas o advertencias que sean mostradas por el asistente de
migracin, que los detectar y listar de forma previa a la actualizacin. Una vez reparados,
volver a lanzar el proceso de actualizacin desde el CD de instalacin.
4. El proceso de migracin in-place instalar ahora los ejecutables, parar los servicios de la
instancia a migrar y actualizar los objetos y componentes de la misma antes de desinstalarlos por completo.
Una vez finalizado el proceso automtico, la instancia SQL Server 2008 estar completamente disponible y la instancia previa de SQL Server ya no existir.

SolidQ Press

Page 6 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Este tipo de actualizaciones, tradicionalmente vienen siendo consideradas como automticas y por ello parece que la necesidad de un administrador de base de datos es menor que en la
actualizacin Side-by-side. Ciertamente la gran mayora del trabajo se realiza automticamente y
si todo va bien, prcticamente deberemos realizar pequeas modificaciones al resultado final
(actualizar estadsticas, instalar MDAC 2.8 en los PC clientes,) que en su gran mayora no necesitan de un DBA experto. En el caso de estar en esta situacin, hay que tener presente siempre el
punto de no retorno.
En qu momento de la migracin in-place si algo sale mal necesitaremos ayuda? Qu
ocurre si llegamos a un estado en el momento de la actualizacin en el que por inexperiencia, mala
planificacin,no podemos continuar? Si se corrompen datos en cualquier punto de la actualizacin podremos volver atrs? En el momento en que tengamos dudas en cualquiera de las respuestas a las preguntas mencionadas anteriormente, hay que pensar en disponer de un DBA experto
que al menos d soporte ante cualquier eventualidad crtica que pueda surgir.
En el caso de que aun as decidamos seguir adelante sin un DBA experto, las siguientes consideraciones debern ser resueltas antes de plantearse la migracin:
Cundo considerars que tu actualizacin ha sido satisfactoria?
Tienes alguna forma de testear las aplicaciones sobre el nuevo entorno SQL Server 2008?
Puedes realizar una simulacin de migracin in-place sobre un entorno de pruebas?
Has resuelto todas las advertencias propuestas por Upgrade Advisor?
Como mnimo, debes poder responder a estas preguntas de manera satisfactoria antes de
plantearte realizar la actualizacin hacia SQL Server 2008 sin un DBA.
Este modelo de migracin, adems de todo lo comentado anteriormente, suele poseer un
factor de riesgo ms, derivado de la versin de sistema operativo donde reside la instancia de SQL
Server a migrar.
Puesto que SQL Server 2008 no es compatible con Windows Server 2000 y Windows Server
2008 no es compatible con SQL Server 2000, hay que aadir el factor migracin de sistema operativo a una migracin in-place en ocasiones (pese a que con frecuencia, se suele tener como algo
habitual, la migracin de SO independientemente de si es requerido o no). Los siguientes consejos
deben ser seguidos en el caso de requerir una migracin del sistema operativo:
Si deseamos migrar un SQL Server 2000-2005 sobre Windows Server 2000, debemos realizar primero una migracin a Windows Server 2003 y posteriormente realizar la migracin
SQL Server 2008. Una vez realizado este proceso, ya se podr realizar la migracin a Windows Server 2008 en el caso de que se desee
Windows Server 2008, solo soporta iSCSI, SAS y fibra, por lo que si se est utilizando SCSI
paralelo sobre Windows Server 2000, por ejemplohay que realizar primero la migracin a
soluciones de disco ms modernas compatibles con W2k8.
Windows Server 2008 no soporta el formato antiguo de dominio NT. Es preciso por tanto, si
el servidor va a formar parte de un dominio de confianza en nuestra organizacin, que el
dominio sea un dominio de Directorio Activo.
Para ms informacin Upgrading to Windows Server 2008.

Actualizacion Side-by-side

SolidQ Press

Page 7 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Se trata del modelo de migracin ms comn y ms verstil puesto que el destino final es
una nueva instancia de SQL Server 2008, bien sea en la misma mquina donde reside la antigua, o
un nuevo servidor preparado especialmente para albergarla.
Las ventajas frente al modelo de actualizacin in-place son:
Se pueden migrar componentes de forma atmica. 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 migracin de 32 a 64 bits
Se permite la actualizacin de la versin del Sistema Operativo (normalmente viene asociado a un nuevo servidor en el que se instala la ltima versin de Windows Server pasando
por ejemplo de un Windows Server 2003 con SQL Server 2005 a Windows Server 2008 R2
con SQL Server 2008)
Se permite la migracin a un servidor ms potente. Al no estar ligados a la actualizacin 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 todava la migracin a SQL Server 2005-2008.
En este modelo de migracin, el principal inconveniente es que se necesita realizar un movimiento de datos. Esto quiere decir que los datos (backups o ficheros de datos) deben moverse a
su nueva ubicacin, lo cual puede no ser algo simple si hablamos de bases de datos del orden de
terabytes donde necesitamos espacio necesario para ello.
Para llevar a cabo una migracin side-by-side debemos realizar estos pasos a grandes rasgos:
1. Instalar una nueva instancia SQL Server 2008
2. Lanzar SQL Server 2008 Upgrade Advisor contra la instancia a migrar y resolver todas las
advertencias
3. Parar toda actividad de la instancia SQL Server a migrar (desconexin de usuarios incluida)
4. Transferir los datos a la nueva instancia (mover backups, paquetes DTS, )
5. Restaurar los objetos sobre la nueva instancia
6. Una vez visto que todo funciona con normalidad, desconectar o desinstalar la instancia SQL
Server migrada si es necesario
Este modelo por tanto ofrece mayor ventaja sobre el modelo de actualizacin in-place
debido a que en caso de problemas, se tiene la instancia original en funcionamiento y se puede
planificar la vuelta atrs. Adems, se permite realizar un testeo previo a modo de preproduccin
de manera independiente, lo cual facilita en mayor medida la deteccin de potenciales problemas
hardware o de migracin que puedan existir el da de paso a produccin. En definitiva, pese a que
el esfuerzo para llevar a cabo una migracin mediante el modelo side-by-side es mayor, este es
debido al mayor grado de control de todo el proceso. Es por ello que este tipo de actualizacin
debe realizarse siempre por un DBA experimentado en SQL Server 2008.
Adems, este tipo de migracin permite que el periodo en que estn las aplicaciones sin
dar servicio pueda ser inferior al tiempo necesario de hacer la actualizacin del motor de SQL Server.
SolidQ Press

Page 8 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Enfoque del documento


Una vez hemos visto los dos planteamientos posibles, se indica al lector que debido al gran
nmero de ventajas existentes del modelo de migracin side-by-side y la necesidad de dar un
enfoque lo ms prctico posible al mismo, el documento se centra primordialmente en una solucin de migracin side-by-side.

SolidQ Press

Page 9 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Fases de una migracion side-by-side


A la hora de acometer una migracin de SQL Server, el siguiente conjunto de tareas debe
llevarse siempre a cabo:
1. Ejecucin del SQL Upgrade Advisor
2. Interpretacin y explicacin del resultado del SQL Upgrade Advisor
3. Instalacin de SQL Server 2008 siguiendo buenas prcticas
4. Plantear migracin de paquetes DTS a SSIS o ejecucin en modo compatibilidad.
5. Plantear migracin de Cubos SQL 2000 a 2008 recrendolos desde 0, actualizndolos automticamente con el asistente o simplemente manteniendo la instancia de SQL 2000 pero
atacando a SQL Server 2008
6. Creacin de un guion de migracin para el da de paso a produccin y testearlo en preproduccin.
Independientemente del modelo de migracin a implementar (in-place side-by-side),
se recomienda siempre realizar los pasos 3 al 7 del proceso de migracin del motor relacional.

Diseno de la solucion
El proceso de migracin side-by-side de SQL Server 2000-2005 debe involucrar tanto la
parte de instalacin del entorno de servidor, como la parte de migracin de los datos y aplicaciones que hacen uso de ellos. En los siguientes puntos se discutirn cada uno de dichos apartados. En
este artculo se va a realizar un mayor nfasis en la migracin desde SQL Server 2000 por tratarse
de la que mayor problemtica puede desatar debido al drstico cambio de arquitectura en sus servicios.

Buenas pra cticas en la configuracion de SQL Server 2008


En el futuro entorno de produccin de SQL Server 2008, se recomienda seguir estas pautas
para sacar el mayor provecho a SQL Server 2008.
NOTA: Todas estas pautas se recomienda seguirlas en cualquier servidor donde residan instancias de SQL Server
Alineamiento de particiones
Si el entorno de produccin involucra un Windows Server 2008, y desde las herramientas
del propio sistema operativo se han creado las particiones, este apartado no hace falta validarlo
puesto que en forma predeterminada realiza un alineamiento de particiones de 1Mb:
Referencia: http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fded599bac8184a/Perf-tun-srv.docx (pgina 30, seccin DISKPART)

SolidQ Press

Page 10 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Si por el contrario, el entorno de produccin involucra un Windows Server 2000 o 2003, o el


subsistema de discos ha sido particionado bajo las herramientas administrativas de un Sistema
Operativo previo, se recomienda realizar un alineamiento de las particiones donde se albergarn
los ficheros .mdf y .ldf de las Bases de datos utilizando diskpart.

Nota: Este diagrama se corresponde con una unidad de almacenamiento en forma predeterminada de NTFS (4kb). El diagrama no se encuentra a escala (ver que los trozos 1 y 2
tienen el mismo tamao a pesar de no serlo realmente)
Asumiendo un valor de 64kb por banda del disco, existen 8 sectores de 512B por
cada clster de 4Kb NTFS y existen 16 clsteres de 4Kb por cada banda de 64Kb.
Ntese que existen sectores ocultos (63 en forma predeterminada en el ejemplo
desalineado y 64 en el ejemplo alineado)
En el ejemplo, la lnea 3 se encuentra desalineada mientras que la 4 est alineada
Teniendo esto presente, se puede ver como cada lectura ensima, produce un salto
en la banda en el caso de los sectores desalineados, debido a que el ltimo clster de 4Kb
no ha cabido completamente en la misma y se encuentra en otra diferente. Esto produce
que al realizar la lectura, se tengan que realizar dos accesos a disco.
Con el valor en forma predeterminada de 4Kb por clster, cada 16 lecturas, se tiene
que realizar una lectura extra.
Para conocer el estado del alineamiento de las particiones actualmente, podemos lanzar la
siguiente consulta WMI desde powershell:

Siendo Name, la ubicacin proporcionada por el subsistema de disco para dicha particin,
Size el tamao de la misma, y StartingOffset la posicin de comienzo de la misma, dentro del disco.

SolidQ Press

Page 11 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Para ms informacin sobre alineamiento de particiones: http://technet.microsoft.com/enus/library/cc766465.aspx seccin alignment


Formateo de NTFS a bloques de 64kb
Los discos que alberguen los ficheros de log y datos se han de formatear a 64kb por bloque
para mejorar el rendimiento de SQL Server.
Con ello favorecemos que se almacenen en un mismo bloque, lo que se denominan extensiones (conjuntos de 8 pginas). De esta forma se mejorarn las lecturas en los casos en los que
SQL Server decida realizar operaciones de lectura adelantada.

Referencia: http://download.microsoft.com/download/d/9/4/d948f981-926e-40faa026-5bfcf076d9b9/SAP_SQL2005_Best%20Practices.doc (pgina 67)


Log on as a service
Se recomienda definir un grupo de usuarios dentro del dominio que ejecute los servicios de
SQL Server. Si el servicio va a estar dentro de un entorno clster, para que no ocurra ningn pro-

SolidQ Press

Page 12 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

blema al iniciar los servicios, se recomienda dar a dichos usuarios el permiso de log on as a service.
Para ello podemos entrar en Administrative Tools -> Local Security Policy y mediante
botn derecho dentro de Local Policies->User Rights Assignment->Log on as a service, aadimos el grupo.

Lock pages in memory


En entornos x32 es recomendable configurar lock pages in memory para SQL Server.
Referencia: http://technet.microsoft.com/en-us/library/ms190730.aspx
Instant File Initialization
Para poder sacarle ventaja a las capacidades de inicializacin instantnea de ficheros, hemos de agregar el permiso SE_MANAGE_VOLUME_NAME a la cuenta del servicio que levante SQL
Server. Los usuarios de administracin locales de Windows poseen dicho permiso habilitado, pero
dado que se presupone que un usuario con permisos mnimos del dominio levante los servicios,
hemos de agregarle dichos permisos.
Dicho permiso se concede cuando les aadimos la poltica de seguridad Perform Volume
Maintenance Task.

Referencia: http://msdn.microsoft.com/en-us/library/ms175935.aspx
Configuracin de seguridad bsica
SolidQ Press

Page 13 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Permisos de sysadmin
De forma predeterminada, los miembros de BUILTIN\Administrators poseen derechos de
administracin. Se recomienda evitar que ninguno de los inicios de sesin sea incluido en el grupo
de usuarios BUILTIN\Administrators
Permisos de la cuenta de servicio de SQL Server
Se recomienda que los servicios de SQL Server sean iniciados por un una cuenta del dominio, y que esta misma tenga los mnimos permisos necesarios (algunos de los que debe tener ya se
han enunciado anteriormente) para minimizar un potencial riesgo de seguridad en caso de exploit
futuro.
Por ello, se recomienda crear usuarios del dominio con los mnimos privilegios posibles para
levantar los servicios de SQL Server, SQL Server Agent, Reporting Services y Analysis Services
Sql Server Auditing
Asegurarse que existe la auditoria de accesos fallidos. Con ella, el sistema captura tanto intentos infructuosos a SQL Server de usuarios Windows y SQL. De esta forma se pueden detectar
ataques por fuerza bruta

Puerto de escucha de SQL Server


Se recomienda cambiar el puerto de escucha de SQL Server 2008 para que no sea utilizado
el puerto en forma predeterminada (1433).
Ofuscar el servicio SQL Server a conexiones externas
Suele ser comn pensar en detener el servicio SQL Browser para dificultar la labor de deteccin de instancias de SQL Server en la red. Ciertamente, este servicio si se para, producir que
no podamos realizar consultas a ningn sitio para determinar el puerto y nombre de instancia al
que conectarnos
El problema de detener el servicio de SQL Browser es que dicho servicio no solo es utilizado
para eso, sino que el detenerlo puede dar lugar a verdaderos quebraderos de cabeza en segn qu
escenarios (clustering, conexin DAC con nombre de instancia, etc)
Lo cierto es que no es necesario detener el servicio para ofuscar la conexin hacia SQL
Server, puesto que a nivel de protocolos de red, es posible marcar la instancia como oculta, de

SolidQ Press

Page 14 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

forma que solo conociendo su nombre de instancia y puerto, seamos capaces de conectarnos a
ella.

Segn se puede apreciar en la imagen, al hacer clic sobre Protocols for xxxx, disponemos
de la opcin de ocultar la instancia (que en forma predeterminada est a No).
Con esto no queremos dar la sensacin al lector de que el servicio se encuentra a salvo de
detectores de SQL Server, pero al menos se lo ponemos ms difcil.

SolidQ Press

Page 15 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Planificacion de la migracion
Antes de realizar la planificacin de la migracin, hay que tener presente una serie de cambios de arquitectura y mejoras de herramientas, que han derivado entre otras cosas, a la depreciacin y descarte de algunas funcionalidades. Por tanto, previa a cualquier planificacin se recomienda revisar encarecidamente los siguientes apartados para detectar potenciales prdidas de
funcionalidad actual que podamos sufrir

Caracter sticas de SQL Server Obsoletas y/o discontinuadas


Existen una serie de caractersticas que sern eliminadas de la siguiente versin de SQL Server, pero que siguen funcionando en la versin 2008 mediante lo que se denomina Compatibilidad hacia atrs: http://msdn.microsoft.com/es-es/library/cc707789.aspx
Adems, existen una serie de caractersticas que ya no se encuentran disponibles en la
nueva versin de SQL Server 2008. Para ms informacin: http://msdn.microsoft.com/eses/library/cc707782.aspx
SQL-DMO
Se ha actualizado la biblioteca de SQL-DMO de versiones anteriores para dar soporte a funcionalidades propias de SQL Server 2008, pero simplemente por compatibilidad hacia atrs. Evite
usar esta caracterstica puesto que ser eliminada en futuras versiones de SQL Server.
Para ms informacin: http://msdn.microsoft.com/es-es/library/ms132055.aspx
Utilidades osql e isql
Se ha modificado la herramienta osql para eliminar el soporte de consultas ODBC. Para
mantener scripts que sean funcionales con la versin de osql de SQL Server 2000, lea el siguiente
documento: http://msdn.microsoft.com/es-es/library/ms174190.aspx
Por otra parte, se ha eliminado definitivamente el soporte para isql.
Aparece con SQL Server 2005 el reemplazo a dichas herramientas mediante la utilidad
sqlcmd, que es til tanto a nivel de script T-SQL en SQL Server Management Studio y a nivel de
consola de sistema operativo.
Para ms informacin sobre la utilidad sqlcmd: http://msdn.microsoft.com/eses/library/ms162773.aspx
Bcp
En la versin de SQL Server 2000, la utilidad de carga masiva de datos por lnea de comando
solo requera los permisos INSERT y SELECT en la tabla destino de la carga de datos

SolidQ Press

Page 16 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Desde la versin SQL Server 2005 se necesita tambin el permiso ALTER sobre la tabla,
puesto que se permite el control de restricciones y el lanzamiento de triggers durante la carga por
parte de opciones de ejecucin de la herramienta

Al contrario que ocurra con la versin anterior de bcp, no existe una prdida de rendimiento considerable en la carga.
Para ms informacin: http://msdn.microsoft.com/es-es/library/ms186247.aspx
Rebuild.exe
En SQL Server 2008 no se soporta Rebuild.exe. Han de revisarse todos aquellos scripts que
utilizan dicha herramienta para adaptarlos a la nueva opcin REBUILDDATABASES de la utilidad de
Setup.exe de SQL Server 2008.
Para ms informacin: http://msdn.microsoft.com/es-es/library/ms144259.aspx
SQL Mail
Pese a que SQL Mail fue marcado como obsoleto ya en SQL Server 2005, todava es posible
utilizarlo en SQL Server 2008. Se recomienda adems, que sean revisados aquellos scripts que
mandan ficheros adjuntos mediante SQL Mail, puesto que la versin de SQL Server 2008 no soporta esta sfuncionalidad si no se est utilizando autentificacin Windows para el cliente SQL Mail.
Se recomienda utilizar en su lugar, Database Mail, puesto que es completamente independiente de APIs externas como MAPI, utilizando en su lugar el framework .NET.
Para ms informacin: http://msdn.microsoft.com/es-es/library/ms187891.aspx
English Query
Este conjunto de herramientas que proporcionaba una interfaz natural de consulta a la
BBDD fue ya eliminado de soporte en SQL Server 2005 y por tanto no est soportado ya en SQL
Server 2008. Pese a que no es posible instalarlo en actualizaciones side-by-side, en actualizaciones
in-place no se toca.
Surface Area Configuration
Esta herramienta que apareci con SQL Server 2005 ha sido descontinuada en SQL Server
2008. La razn no es otra que la aparicin del framework de administracin declarativa (DMF),
donde podremos configurar la faceta Surface Area Configurator realizando las mismas acciones
que realizbamos anteriormente con la herramienta de SQL Server 2005.
Para ms informacin: http://msdn.microsoft.com/es-es/library/cc707782.aspx

2008

Resumen de equivalencias entre herramientas de SQL Server 2000 y

SolidQ Press

Page 17 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

SQL Server 2000


Enterprise Manager

SQL Server 2008


SQL Server Management Studio

SQL Server Reporting Services 2000

SQL Server Reporting Services + Report


Builder

SQL Server Profiler

SQL Server Profiler

Analysis Manager

Bussiness Intelligence Management Studio

Data Transformation Services (DTS)

Sql Server Integration Services (SSIS)

Isql/osql

Sqlcmd/powershell

Sql Mail

Database Mail

Configurador de superficie

Framework de administracin declarativa (DMF)

English query

Obsoleto

Planes de mantenimiento (a traves de


trabajos de SQL Server Agent)

Planes de mantenimiento (a travs de


paquetes SSIS)

Index Tunning Wizard (ITW)

Database Tunning Advisor (DTA)

SQL-DMO

SQL-DMO (solo por compatibilidad hacia


atrs)

BCP

BCP (mejorado)

SolidQ Press

Page 18 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Migracion del motor relacional


El siguiente apartado condensa las recomendaciones especficas para la migracin del motor relacional.
Minimizar el proceso de actualizacin
Para tratar de minimizar el proceso de migracin hacia SQL Server 2008, se propone al lector las siguientes prcticas previas al da de la misma:
Validar requerimientos de instalacin de actualizaciones in-place.
Disponer del service pack y actualizacin necesarios para poder realizar la migracin
hacia SQL Server 2008, as como la correcta validacin de los requerimientos de actualizacin propuestos por la herramienta SQL Server Upgrade Advisor.
Pese a que esto es necesario en cualquier tipo de actualizacin, es especialmente
importante en actualizaciones in-place, para evitar retrasos el da D.
Preinstalar componentes .NET y de Windows necesarios.
Se recomienda instalar la versin .NET 3.5 SP1 y Windows Installer (msi) 4.5 de
forma previa, en el servidor destino. Esto puede hacerse mediante descarga individual o
desde el propio proceso de instalacin de SQL Server 2008 (que ya contiene estos instalables).
La instalacin de Windows Installer 4.5 requerir un reinicio del Sistema Operativo.
Preinstalar herramientas de administracin.
En el proceso de instalacin, si se seleccionan, se van a instalar las herramientas de
administracin de SQL Server y desarrollo de inteligencia de negocio. Estas herramientas
son tanto SQL Server Management Studio, como el propio Visual Studio 2008 Business Intelligence. Si ya se encuentran instaladas y actualizadas como mnimo al SP1, podremos evitarnos el tiempo de instalacin el mismo da de actualizacin.
Pre crear usuarios del dominio.
Se recomienda disponer de usuarios del dominio especficos para cada servicio de
SQL Server. Es recomendable tener dichos usuarios y grupos pre-creados antes de la instalacin, para no invertir tiempo en ello.
Controlar consistencia de datos.
Es altamente recomendable realizar un chequeo de consistencia de todas y cada
una de las bases de datos a migrar, de forma previa a su migracin. Puesto que es un proceso costoso, se recomienda que sea realizado el da anterior al de la migracin, para evitar
hacerlo el mismo da.
Formacin para administradores de base de datos.
No menos importante es la formacin de los DBA que se van a encargar de la nueva/s instancia de SQL Server 2008. Antes de cualquier migracin debe existir un proceso de
formacin/adaptacin a SQL Server 2008, para que los DBA sean capaces tanto de administrar, como de desplegar caractersticas nuevas. El cambio que existe entre SQL Server 2000
y SQL Server 2008 es tan grande y las mejoras son tantas, que no es viable ponerse a
aprenderlas una vez se ha migrado el entorno. Disponer de este conocimiento en etapas

SolidQ Press

Page 19 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

tempranas de la planificacin de la migracin, mejorar el tiempo de despliegue en s mismo.


Formacin para desarrolladores de base de datos y equipo de Inteligencia de Negocio.
El producto incorpora nuevas funcionalidades desde el el punto de vista del desarrollo de
aplicaciones y anlisis de informacin, y es deseable que los equipos involucrados conozcan
y puedan utilizar todas estas novedades que redundan directamente en la eficiencia y productividad de los desarrollos; por ejemplo, las capacidades de SSIS desde el punto de vista
de usabilidad y desarrollo hacen que tareas anteriormente realizadas con DTS conlleven la
mitad de tiempo en desarrollo, pruebas y despliegue que anteriormente. En la misma lnea
estn las nuevas construcciones del lenguaje TSQL como la sentencia MERGE, particionamiento de informacin, gestin de informacin espacial, o integracin de .NET CLR en el
gestor de bases de datos.

Planificacin de la migracin
La planificacin de la migracin del motor relacional se compone de tres grandes apartados:

Anlisis de consultas dinmicas generadas por las aplicaciones que explotan las bases de
datos.
Hemos de realizar una traza de consultas que llegan al motor, para determinar si
existe cdigo en las aplicaciones cliente depreciado. Para su anlisis nos apoyaremos en
SSUA (SQL Server Upgrade Advisor). Ver apartado anlisis de consultas dinmicas.

Anlisis de objetos estticos de las bases de datos y servicios a migrar


Utilizando SSUA, obtendremos los reportes de migracin que deberemos analizar
para tratar de superar incompatibilidades. Ver apartado Interpretacin y explicacin del
resultado del SQL Upgrade Advisor

Modificacin de incompatibilidades en origen


Pese a no ser requerimiento imprescindible, es altamente recomendable salvar todas las incompatibilidades detectadas en los puntos anteriores antes de acometer la migracin. Esto nos evitar tener que lidiar con los problemas sobre la BBDD migrada a 2008, tenindola que configurar en compatibilidad 90 u 80 por dichos requerimientos.

Instalacion y ejecucion de SQL Server Upgrade Advisor


La herramienta se encuentra tanto en el propio CD de instalacin de SQL Server 2008, como
disponible para descarga en la siguiente ubicacin:
http://www.microsoft.com/downloads/details.aspx?familyid=F5A6C5E9-4CD9-4E42-A21C7291E7F0F852&displaylang=en

SolidQ Press

Page 20 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

En caso de utilizar la herramienta incluida en el DVD del producto, se recomienda validar la


existencia de versiones nuevas de la herramienta (opcin search for product updates).

Al contrario que la herramienta de actualizacin del motor propiamente dicha, SQL Server
Upgrade Advisor (SSUA) est pensado para instalarse en un equipo diferente al de produccin, por
lo que est preparado tanto para solicitar la instancia y servicios a analizar, como el usuario (con
permiso sysadmin) que necesitemos para conectar y realizar el anlisis.
A continuacin se expone el anlisis realizado sobre los resultados proporcionados por la
herramienta SQL Upgrade Advisor sobre un supuesto entorno de produccin. En l, podremos ver
algunas de las incidencias detectadas ms habituales a la hora de migrar de SQL Server 2000 a SQL
Server 2008:
1. Una vez instalada la herramienta, el siguiente paso es ejecutarla para obtener el informe de
migracin
2. Luego pulsamos sobre Launch Upgrade Advisor Analysis Wizard y seguidamente seleccionamos los componentes que deseamos actualizar, as como el servidor donde se encuentran instalados:

SolidQ Press

Page 21 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Imagen 0-1 Segn el proyecto, se analizarn los servicios pertinentes


3. Ahora la herramienta nos ir solicitando las credenciales necesarias por los servicios para
poder realizar el anlisis

SolidQ Press

Page 22 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

4. En el caso del servicio del motor relacional, la herramienta nos solicitar informacin sobre
qu bases de datos deseamos analizar:

5. Una vez seleccionadas dichas bases de datos, podremos continuar pulsando en siguiente y
dejando que la herramienta comience el anlisis
Una vez finalizado el anlisis por parte de la herramienta, el siguiente paso ser visualizar
los informes generados para su posterior anlisis de resolucin de conflictos.

Visualizar e interpretar informes generados por SSUA


Una vez la herramienta ha finalizado el anlisis, disponemos de una opcin para visualizar
sus resultados de forma cmoda. Para ello, dentro de la propia herramienta SSUA, podemos hacer
clic en Launch Upgrade Advisor Report Viewer

SolidQ Press

Page 23 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

La siguiente imagen ilustra las incidencias detectadas por el asistente de actualizacin de


SQL Server lanzado contra una instancia de SQL Server 2000 de produccin de ejemplo:

Los XML que genera dependen de la seleccin de anlisis realizada de forma que:
AS.xml es el anlisis de Analysis Services
SolidQ Press

Page 24 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

DE.xml es el anlisis del motor relacional (Database Engine)


DTS.xml es el anlisis de los DTS
Los errores que se van a tratar en este punto, son los errores que mayor frecuencia de aparicin tienen en los proyectos de migracin de SQL Server 2000 a 2008; entender tanto su aparicin como su solucin es de vital importancia para el proyecto global de migracin.
Motor Relacional
A continuacin se detalla el anlisis de cada una de las puntualizaciones proporcionadas
por SSUA:
Mensaje de advertencia sobre imposibilidad de deteccin de potenciales problemas

La herramienta nos informa que existen potenciales problemas de actualizacin del motor
de BBDD que no pueden ser detectados de forma automtica con certeza y nos invita a revisarlos
manualmente:
Cambios de collation
Hemos de cerciorarnos que al migrar, el ordenamiento (collation) del motor destino
sea idntico. Es importante tenerlo en cuenta durante el proceso de instalacin de la nueva
instancia SQL 2008 para que coincida con el antiguo SQL Server 2000.
Configuraciones de max server memory
En SQL 2000, si definimos un max server memory, una consulta que puntualmente
requiera ms memoria y est disponible, podr acceder a ella.
Por el contrario, desde SQL 2005, si una consulta necesita ms memoria de la mxima configurada, esta no ser asignada y devolver un error de tipo insufficient system
memory. Se nos avisa de ello para que seamos conscientes.
Cambio de modo de compatibilidad
En forma predeterminada, al migrar una BBDD, su modo de compatibilidad no vara.
Por tanto hemos de cambiar su modo de compatibilidad de 80 (sql server 2000) a 100 (SQL
Server 2008) mediante la instruccin

o mediante el procedimiento almacenado sp_dbcmptlevel (depreciado). Este paso queda


reflejado en el apartado de pasos necesarios para el proceso de migracin.
Tipos de datos char(0),varchar(0) y nvarchar(0) no soportados
En SQL 2000, se pueden definir columnas calculadas que almacenen cadenas vacas,
almacenndolas como cadenas de longitud 0. Desde SQL Server 2005 su comportamiento
vara, y en forma predeterminada son creadas con un tamao mnimo de 1.
Si se detecta esta situacin, hay que volver a recrear la columna calculada con un
tamao mnimo de 1.
UNION
Cuando un operador UNION est dentro de una instruccin INSERT, desde la versin de SQL Server 2005 se convierte el tipo de datos de cada operacin UNION por separado, segn las reglas de la conversin de tipo de datos. En SQL Server 2000, se hacia la
SolidQ Press

Page 25 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

conversin directamente al tipo de datos de la tabla destino. Esto puede incurrir en problemas ya que operaciones que en SQL Server 2000 no producan error, si pueden hacerlo
en 2005 y 2008.
Para validar este apartado, lo mejor es que se pruebe la aplicacin una vez se haya
migrado la BBDD en un entorno de preproduccin y su modo de compatibilidad est asignado ya a 100 (SQL Server 2008)
Vistas indexadas
Desde SQL Server 2005, las referencias a literales de cadena que se convierten de
manera implcita en datetime y smalldatetime no son deterministas. Sus resultados dependen de LANGUAGE y DATEFORMAT de la sesin del servidor, por lo que
CONVERT(datetime,'30 listopad 1996',113) puede valer diferente en funcin de
LANGUAGE.
La conversin implcita de datos de caracteres no Unicode entre intercalaciones ya no son
deterministas. Adems, la creacin de ndices en vistas que contienen estas expresiones no se admite ni en el nivel de compatibilidad de base de datos 90 ni en nivel 100. Aunque puedan mantenerse
las vistas existentes que contengan estas expresiones de una base de datos actualizada, el optimizador de consultas no las tendr en cuenta en los planes de consulta, ya sea el nivel de compatibilidad 80, 90 o 100.
Para solventar esta situacin, desde la versin de SQL Server 2005, se debe convertir explcitamente
el literal al tipo de fecha deseada mediante un estilo de formato de fecha determinista. Ver CAST y
CONVERT (Transact-SQL).
Por lo tanto, a partir del momento de la migracin, si se utilizan conversiones implcitas de cadena a
fecha en vistas indizadas existentes que se han actualizado a SQL Server 2008, hay que asegurarse
de que los valores LANGUAGE y DATEFORMAT son coherentes en las bases de datos y en las aplicaciones para impedir posibles daos en las vistas indizadas.

FOR XML
Desde SQL Server 2005, un carcter de 3-bytes Unicode genera 6 caracteres en XML, mientras que
en SQL Server 2000, se generaban 8 caracteres.
Uso de objetos del sistema
Se han modificado muchos de los procedimientos almacenados y tablas del sistema entre las versiones SQL Server 2000, 2005 y 2008 (especialmente entre 2000 y 2008), por lo que si se consulta
informacin directamente sobre ellos hay que repasar si siguen siendo vlidos.
Entre otras cosas, los objetos del sistema ahora residen sobre el esquema sys, no sobre dbo
y residen sobre cada BBDD en lugar de nicamente sobre la BBDD master.

Cambio en invocaciones mltiples de funciones RAND y NEWID


En SQL Server 2005 y 2008, la invocacin mltiple de estas funciones no genera varios valores, al
contrario de lo que ocurre en SQL Server 2000. Se puede comprobar su comportamiento lanzando
la siguiente consulta T-SQL contra un servidor SQL 2000 y un SQL 2008
SELECT Column1, Column1

SolidQ Press

Page 26 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
FROM (
SELECT RAND() Column1
FROM (
SELECT 1 c
UNION
SELECT 2 c
) s
) t

WITH CHECK OPTION


INSERTS y UPDATES pueden fallar sobre vistas creadas con WITH CHECK OPTION cuando incurren en
tablas remotas. Recrear la vista sin WITH CHECK OPTION para evitar este error

Ensamblados CLR
SQL Server 2008 instala .NET Framework 3.5 SP1, que se encarga de actualizar las bibliotecas de la memoria cach de ensamblados global (GAC). Si tiene bibliotecas no admitidas registradas en una base de datos de SQL Server, es posible que la aplicacin de SQL Server
deje de funcionar despus de realizar la actualizacin a SQL Server 2008. El motivo es que
cuando se da servicio o se actualizan bibliotecas de la GAC, no se actualizan los ensamblados de SQL Server. Si un ensamblado existe tanto en una base de datos de SQL Server como
en la GAC, las dos copias debern coincidir exactamente. Si no coinciden, se producir un
error cuando la integracin CLR de SQL Server use el ensamblado. Para obtener ms informacin, vea Bibliotecas de .NET Framework admitidas (http://msdn.microsoft.com/eses/library/ms403279.aspx).

Despus de actualizar la base de datos, d servicio o actualice la copia del ensamblado situada en las bases de datos de SQL Server con la instruccin ALTER ASSEMBLY. Para
obtener ms informacin, vea el artculo 949080 de Knowledge Base
(http://support.microsoft.com/kb/949080).
Nuevo error de inicio de sesin incorrecto
En SQL Server 2005, se devuelve el error 18452 cuando se usa un inicio de sesin de
SQL para conectar con un servidor que est configurado para usar nicamente la autenticacin de Windows. En SQL Server 2008, se devuelve el error 18456 en su lugar.
Modificaciones en XML de planes de presentacin
Se ha agregado un nuevo atributo IndexKind al tipo complejo
ObjectType en el esquema XML del plan de presentacin. En las aplicaciones que validen
de forma estricta los planes de SQL Server con el esquema de SQL Server 2005 se producir
un error.
Opcin recompute Rank a nivel de servidor
Esta opcin no se admite en SQL Server 2008. Modifique las aplicaciones que actualmente utilizan esta caracterstica lo antes posible.
Expresiones XPath y XQuery
En SQL Server 2005, se permiten los pasos de una expresin de XQuery o XPath que
comienzan con un signo de dos puntos (':'). Por ejemplo, la instruccin siguiente contiene
una prueba del nombre (CTR02) dentro de la expresin de ruta de acceso que comienza
con dos puntos.
SELECT FileContext.query('for n$ in //CTR return <C>{dat

SolidQ Press

Page 27 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
a )(n$/:CTR02)} </C>') AS Files FROM dbo.MyTable;

En SQL Server 2008, este uso se rechaza porque no cumple los estndares de XML.
Se devuelve el error 9341. Como solucin hay que quitar el signo de dos puntos inicial o especificar un prefijo para la prueba del nombre, por ejemplo (n$/p1:CTR02) o (n$/CTR02).
Como se ha visto, al margen de que exista un componente de anlisis esttico, la herramienta nos
informa de que tambin deberemos realizar un anlisis que valide situaciones imposibles de evaluar automticamente. Se trata en su mayora de situaciones no habituales, pero que conviene conocer puesto que
en nuestro entorno podemos estar utilizndolas.

NOTA: Para informacin ms detallada, consultar http://msdn.microsoft.com/eses/library/ms143179.aspx


Mensaje de advertencia sobre Bsqueda de Texto (fulltext search)

Su mensaje es suficientemente descriptivo y se aplica a SQL Server 2008.

Versin de MDAC 2.6

Esta advertencia solo es necesario validarla en escenarios de migracin in-place, donde hay que
actualizar la versin de MDAC para poder conectar contra SQL Server 2008. En el caso de encontrarnos en
una migracin Side-by-side (migracin a otro equipo nuevo), donde ya est instalado SQL Server 2008,
podremos dar por validado este apartado.

Planes de mantenimiento en SQL Server 2008

SolidQ Press

Page 28 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

En este apartado se nos informa de que a pesar de que se podrn migrar los planes de mantenimiento creados en la instancia 2000, en SQL Server 2008 se implementan de forma diferente (mediante
paquetes SSIS)

Clusulas ORDER BY no compatibles

Al contrario de SQL Server 2000, en un ORDER BY debemos poner las columnas especificando nicamente el alias proporcionado, o el nombre de dos partes real (TABLA.COLUMNA), pero no est soportado
el doble alias ALIASTABLA.ALIASCOLUMNA.
Esta validacin nos indica que existen 3 objetos que no funcionarn al poner la BBDD en compatibilidad 100. En estos casos la nica solucin es recrearlos para evitar este uso incompatible de ORDER BY,
actualizndolo a su sintaxis aceptada.

Clusulas OUTER JOIN depreciadas (*= y =*)

El asistente de actualizacin ha detectado que existen 66 objetos con sintaxis no ANSI SQL para determinar operaciones OUTER JOIN. La nica solucin para dichos objetos es la de ser modificados para hacer
referencia a LEFT OUTER JOIN y RIGHT OUTER JOIN en lugar de sus operadores no compatibles (*= y =* respectivamente).

Polticas de seguridad para usuarios de SQL Server

En SQL Server 2008 no es posible crear usuarios con contrasea en blanco y al detectarse esta situacin en la instancia de SQL Server 2000 se nos avisa de que es algo que tendremos que modificar en
nuestras aplicaciones.

SolidQ Press

Page 29 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Data Transformation Services


La siguiente imagen ilustra las incidencias detectadas por el asesor de actualizacin de SQL
Server, lanzado contra una instancia de SQL Server 2000 durante el anlisis de los paquetes DTS:

Instalar DTS en msdb en caso de actualizacin in-place

En el caso de una actualizacin in place, es necesario que los paquetes DTS estn almacenados en la base de datos msdb. Si no es el caso, este mensaje podremos obviarlo
Componentes de edicin para DTS en SQL Server 2008

Si estuviramos en el caso de una actualizacin in place, en el momento que desinstalramos SQL Server 2000 no podramos editar ni crear paquetes DTS hasta instalar las herramientas
para tal fin sobre SQL Server 2008.
Las herramientas en cuestin se pueden encontrar en la siguiente ubicacin:
http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69A2BED18FE73C&displaylang=en

SolidQ Press

Page 30 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Tareas complejas en DTS no migradas completamente

Debido a que existe lgica compleja en los DTS, el asistente de migracin no podr migrar
al 100% algunas de las partes del mismo, dejndolas como paquete de ejecucin DTS de forma
interna. Se nos avisa de esta circunstancia, para que lo tengamos en cuenta y en los paquetes de
SSIS, realicemos la modificacin cuando lo estimemos oportuno, pero ya sobre un paquetes SSIS.
En este ejemplo concreto, la parte que no puede convertir automticamente es la encargada de obtener informacin de otro motor de base de datos mediante un conector ODBC no estndar instalado en el servidor. Obviamente dicho conector deber ser instalado en el nuevo servidor
y deberemos realizar pruebas de conectividad sobre el mismo para validar si su comportamiento
es el correcto en la nueva instancia-servidor.
Aviso de caracterstica depreciada: DTS

Esta advertencia nos indica bsicamente que los paquetes DTS son una caracterstica retirada que posee compatibilidad en SQL Server 2005 pero que ser eliminada en SQL Server 2008 en
pro de SSIS.
Pese a ello, es posible todava seguir lanzando DTS desde Sql Server 2008 con sus herramientas de compatibilidad. Esto ltimo no es aconsejable puesto que algunas de las mismas no
han sido portadas a SQL Server 2008 y se usan las que en su dia fueron diseadas para compatibilidad con SQL Server 2005.
Solo la ltima versin ser migrada

Se nos advierte que el proceso de migracin de DTS est ligado a la ltima versin del mismo, no migrndose a SSIS el resto de versiones inferiores. El control de versiones se debe llevar a
cabo mediante Visual Studio 2008, que es la herramienta de edicin de paquetes SSIS.
Anlisis de consultas dinmicas
La herramienta SSUA realiza un anlisis esttico de servicios y objetos, pero obviamente no
es capaz de prevenirnos acerca de la tipologa de consultas que nuestras aplicaciones estn lanzando contra el servidor porque las desconoce a priori. Para que sea capaz de analizar la tipologa
de consultas que nuestras aplicaciones estn utilizando tendremos que ayudarlo proporcionndole
una traza lo ms representativa posible de las consultas que estn lanzndose. Gracias a ella, se-

SolidQ Press

Page 31 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

remos capaces mediante SSUA de analizar la tipologa de consultas que est procesando el servidor.
Para analizar las consultas dinmicas que las aplicaciones lanzan contra el servidor hemos
de crear una traza que capture sentencias ad-hoc, as como sentencias que ejecuten procedimientos almacenados en las BBDD a migrar. Para ello SQL Server 2008 dispone de la herramienta SQL
Profiler.

Los siguientes pasos, ilustran el proceso de creacin de una traza personalizada, que capture por un lado la informacin necesaria para el anlisis, y por otro evite tener que dejar la herramienta de rendimiento (profiler) en marcha durante el proceso:
1. Crearemos una nueva traza

2. Nos conectaremos a la instancia que alberga las BBDD a migrar (la instancia 2000 o 2005)

3. Haremos clic en la seccin de eventos de definicin de la traza

SolidQ Press

Page 32 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

4. Seleccionaremos nicamente RPC:Completed y SQL:BatchCompleted, asegurndonos que


como mnimo la columna TextData est marcada

5. Lanzaremos la traza

6. Inmediatamente despus de ejecutarla, la pararemos pulsando sobre el botn de stop. La


razn de esto es que lo queremos ser la definicin de la traza en T-SQL para que no sea
necesario tener SQL Profiler abierto

SolidQ Press

Page 33 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

7. Una vez hemos parado la traza, exportaremos su definicin

NOTA: La definicin debe coincidir con el motor a analizar (2000 2005)


8. Abrimos el fichero .sql exportado y modificaremos estos dos apartados

SolidQ Press

Page 34 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Donde @maxfilesize representa el tamao en megas mximo que queremos que ocupe la
traza (cuando la traza ocupe ese tamao automticamente se parar y finalizar; e InsertFileNameHere representa la ubicacin (local al servidor que estamos analizando) donde se ir escribiendo la traza.
9. Ejecucin del script
En este momento, ejecutamos el script contra la BBDD que deseamos analizar para
que comience la captura. A partir de este momento, lo deseable es que todas las aplicaciones que hagan uso de la BBDD a migrar lo hagan, para que cualquier consulta que se lance
contra la misma, sea capturada.
Lo ideal es que la captura de datos mediante la traza sea realizada contra produccin y que
se est capturando un periodo razonable segn nuestro proceso de negocio. Si en 3 das el lector
estima que es suficiente para que las aplicaciones hayan podido ejecutar todas las consultas contra
la BBDD posible, es suficiente. Por poner un ejemplo real, en la mayora de proyectos de migracin
en las que hemos trabajado, se ha capturado informacin durante 7 das consecutivos de media.
Para conocer el mtodo de cmo parar y finalizar las trazas, consultar apndice la seccin
Finalizacin de trazas de profiler.

SolidQ Press

Page 35 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Migracion de los paquetes DTS a SSIS.


Antes de enfocar una migracin de paquetes DTS de SQL Server 2000, hay que preguntarse
qu estrategia vamos a seguir. De nuevo, SSUA es una excelente herramienta para la planificacin,
puesto que previo a nuestra migracin podemos saber de antemano qu ocurrir con nuestros
paquetes.
El cambio de DTS a SSIS no es solo un salto generacional, sino un rediseo completo y desde 0 del planteamiento anterior de la herramienta de carga y transformacin de datos. Es por ello
que el paquete SSIS resultado puede no migrarse fcilmente mediante el asistente y probablemente contenga porciones de DTS internas que deberemos modificar a posteriori si lo creemos conveniente.
Qu ocurre durante la migracin?
Todo el proceso de migracin lo realiza el asistente de migracin de DTS que existe en SQL
Server 2008 y lo realiza sin alterar la estructura de los paquetes DTS originales a migrar puesto que
nicamente los abre momentneamente para leer su estructura.
El proceso de anlisis se puede realizar tanto a partir de ficheros DTS que se encuentren en
una ruta en disco, como a partir de los DTS que se encuentren alojados en msdb. Algo que debemos tener en cuenta es que el servidor SQL Server 2000 debe tener instalado SP3 como mnimo
instalado puesto que en dicho SP se modific la estructura interna y la forma en que almacenaban
los DTS.
Si la migracin se realizara in-place, justo despus de realizar la migracin, todava podramos seguir accediendo a los DTS de SQL Server 2000, pero no podramos hacerlo para edicin,
puesto que las cadenas de conexin se actualizan a SQL Server 2008 y Enterprise Manager de 2000
no puede conectar contra SQL 2008 (ocurrir lo mismo si migramos paquetes SSIS 2005 con las
cadenas de conexin). Para ello tendramos que utilizar SSMS de 2008.
Hay que tener en cuenta que dependiendo de la complejidad de los DTS, puede que el asistente no obtenga la mejor aproximacin de solucin en trminos de rendimiento utilizando SSIS,
pero realmente realiza una buena aproximacin, que si no nos dice lo contrario el proceso mediante error o advertencia, es completamente equivalente a la implementacin DTS. En cualquier caso
siempre se recomienda abrir los paquetes SSIS migrados para no solo actualizar cadenas de conexin, sino repasar si los flujos de control han sido correctamente interpretados puesto que en alguna ocasin me he encontrado que pese a no dar advertencia alguna SSUA, se haban quedado
sin conectar algunos de ellos.

SolidQ Press

Page 36 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Guion de migracion
Migracin del motor relacional
Todos los scripts mencionados en este apartado pueden ser fcilmente generados mediante la aplicacin SQL Server Management Studio. Para ms informacin consultar apndice, seccin
de generacin de scripts de mantenimiento.
Se asume que llegados a este punto, se han resuelto todas las advertencias que han sido
sealadas por SSUA. De lo contrario podremos encontrar problemas a la hora de afrontar cualquiera de los siguientes pasos.
El proceso a seguir el da de la migracin de una supuesta base de datos sql server 2000 a produccin es el siguiente (en orden):
1. Realizar Backup de las BBDD a migrar
2. Realizar Restore de dichas BBDD en SQL Server 2008
En este punto, las BBDD se encuentran en modo de compatibilidad 80 (SQL Server 2000),
por lo que no podemos obtener todo el potencial de SQL Server 2008 (acceso a algunas funciones
del sistema, vistas, nuevas clusulas,), aunque s que podemos trabajar con dichas BBDD.
3. Realizar un control fsico y lgico de las BBDD restauradas
use database_name
go
DBCC CHECKDB;
GO

4. Cambiar el modo de compatibilidad a 100 (SQL Server 2008)


Para ello, vamos a lanzar el siguiente script, que actualizar las BBDD a modo de compatibilidad 100, que nos permitir obtener todo el potencial y nueva sintaxis de SQL Server 2008
-- Actualizacin del nivel de compatibilidad a SQL Server 2008
USE [master]
GO
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 100
GO

NOTA: Se puede volver a modo de compatibilidad 80 o 90 en cualquier momento si se


detecta algn problema de compatibilidad con T-SQL que previamente no haya sido detectado.
5. DBCC UPDATEUSAGE para actualizar el conteo de filas

SolidQ Press

Page 37 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

6. Reconstruir ndices
Lanzar scripts de reconstruccin de ndices.
7. Actualizar estadsticas
Lanzar scripts de actualizacin de estadsticas.

NOTA: Hay que actualizar las estadsticas de las tablas y vistas indexadas.
8. Reduccin de BBDD
Lanzar script de reduccin de BBDD en el caso de que no sea habitual realizarlo.

Es til seleccionar Retain freed space in database files en el caso de que diariamente se
sufran procesos de incorporacin de informacin que hagan crecer las BBDDs; el disponer del espacio de BBDD reservado al sistema operativo nos ahorrar esperas para la obtencin de ese recurso
cuando sea requerido.
9. Migracin de usuarios
En la mayora de situaciones, lo mejor es recrear los usuarios existentes en SQL Server 2000,
ms an cuando se han detectado inicios de sesin que no poseen contrasea. Considere que la migracin de inicios de sesin con autenticacin SQL Server debe realizarse con SIDs en concordancia
entre la instancia de SQL Server y la base de datos a la que accede el usuario; para ello debera usar
la opcin CREATE LOGIN WITH SID = XXX; adems, como medida de precaucin, recomendamos
utilizar el procedimiento almacenado de sistema sp_change_users_login (revise la documentacin
del producto) para asegurarse que no quedan usuarios de bases de datos hurfanos.

SolidQ Press

Page 38 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

10. Modificar las cadenas de conexin de las aplicaciones para que apunten a la nueva instancia de SQL
Server

Solucin de problemas de actualizacin


El momento de detectar problemas de actualizacin, hemos visto que es el de la planificacin. Como ya hemos introducido anteriormente, el mejor escenario es aquel en el que podemos
realizar una actualizacin en un entorno de 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 solucin.
La siguiente gua, pretende dar una pauta de inicio por donde comenzar a investigar el origen de un problema ocurrido:
En la ruta Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG, existe un fichero
denominado summary.txt donde podremos encontrar un resumen de la actualizacin de
SQL Server 2008, en el caso de que se haya realizado in-place.
Cada ejecucin de setup.exe, crear una carpeta de log, con un formato de nombre similar
a YYYYMMDD_hhmmss, de forma que dentro de el, aparecer informacin relativa al proceso de instalacin
Se recomienda buscar por las cadenas de texto Watson bucket, Error: y Exception has
been
Para ms informacin: How to: View SQL Server 2008 Setup Log Files
Migracin de paquetes DTS a SSIS
Si lo que estamos planificando es una migracin Side by Side la forma ms fcil de realizar
la migracin de nuestros paquetes DTS es desde el propio SSMS 2008 del servidor destino. Para
continuar con el proceso de migracin, previamente hay que cumplir los requisitos de compatibilidad con DTS de SQL Server 2000. Para ello, se recomienda la lectura de la seccin Requisitos para
compatibilidad con SQL Server 2000. Una vez cubiertos los requisitos en el equipo desde el que
realicemos la migracin, procederemos con las siguientes instrucciones.
Migracin automtica

Entrar en Management->Legacy->Data Transformation Services


Nos ponemos sobre cualquiera de ellos y botn derecho->migrate

SolidQ Press

Page 39 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Ahora seguiremos el asistente de migracin de paquetes DTS a SSIS

Seleccionaremos el origen de datos donde se encuentran los DTS que queremos migrar. En nuestro
caso vamos a migrar directamente los del servidor por lo que aplicamos sus credenciales de conexin. Se permite que el origen sea una carpeta donde se encuentran los ficheros .dts

SolidQ Press

Page 40 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Seleccionaremos el destino. Lo mejor en nuestro caso es que el destino sea el sistema de ficheros,
porque la siguiente accin a realizar una vez migrados los paquetes ser editarlos para como mnimo, cambiar sus orgenes de datos

Seleccionaremos los paquetes DTS que deseamos migrar con el asistente

SolidQ Press

Page 41 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Por ltimo, se nos solicita la ruta a un fichero de log que se crear durante el proceso y en el que se
reportarn las acciones pertinentes y su estado final

Por ltimo solo nos queda esperar a que finalice la migracin

SolidQ Press

Page 42 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Edicin de paquetes SSIS migrados


Una vez migrado, debemos editarlo para verificar si la migracin ha sido exitosa y para cambiar los
orgenes de datos ya que ahora deberemos apuntar a SQL Server 2008 y no a SQL Server 2000.
Una vez abierto el paquete de SSIS (botn derecho->editar), se nos abrir el entorno de desarrollo
de paquetes SSIS (Visual Studio 2008) y entraremos automticamente en su zona de edicin.

Pulsaremos sobre el botn Edit Package

SolidQ Press

Page 43 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez se nos abra el editor de compatibilidad de paquetes DTS 2000, procederemos a modificar
sus orgenes de datos.
Lo primero ser modificar el origen (llamado en este caso Sybase) para que utilice el ODBC
que hemos creado apuntando al servidor (ver apndice seccin Configuracin driver ODBC Sybase)

SolidQ Press

Page 44 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Lo siguiente ser modificar el destino para que apunte a SQL Server 2008

SolidQ Press

Page 45 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Por ltimo, actualizaremos el flujo de control (que automticamente nos recrear las transformaciones sin error) y validaremos que es correcto.

SolidQ Press

Page 46 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez salvado el paquete DTS, lo siguiente a realizar ser actualizar las conexiones del
propio paquete SSIS para que apunten a sus orgenes de datos de forma correcta (antes
apuntaban a SQL 2000 y ahora deben hacerlo a un SQL 2008)

SolidQ Press

Page 47 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

NOTA: Se recomienda utilizar la seguridad integrada


Importacin de paquetes a SSIS
Una vez tengamos los paquetes SSIS apuntando correctamente a los servidores y revisada
su funcionalidad comprobando que se hace lo que se espera, el siguiente paso es subir a produccin el paquete. Para ello:
Conectamos a Integration Services y botn derecho->Import Package

Seleccionamos el paquete que queramos subir al servidor

SolidQ Press

Page 48 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Especificamos que queremos que la seguridad de partes sensibles de la configuracin del


SSIS recaiga sobre el propio motor. Esto es as porque en el caso de haber utilizado conexiones
usuario-contrasea por ejemplo, no queremos que aparezca en texto claro en la definicin XML del
paquete SSIS.

Si el paquete SSIS estaba cifrado con contrasea (ver apndice), nos lo va a solicitar antes
de proceder con la importacin, para asegurarse que disponemos de los permisos necesarios

SolidQ Press

Page 49 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Trabajar en modo compatibilidad 2000


Es posible trabajar con DTS desde SQL Server 2005. Esta situacin hace posible que podamos seguir utilizando los DTS de SQL Server 2000 con SQL Server 2005 durante todo el tiempo necesario mientras planificamos la migracin real a SSIS bien sea rediseo o migracin.
Para ello, una vez dispongamos de los paquetes originales .dts exportados al sistema de fichero:
Botn derecho sobre Data Transformation Services-> Import Package File

Editamos el paquete DTS para modificar sus orgenes de datos (botn derecho-> Open)

SolidQ Press

Page 50 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez actualizados los orgenes de datos para que apunten correctamente a sus respectivos orgenes de datos, el paquete est listo para ejecutarse sin problemas.

Migracin de Analysis Services


Pese a que en la mayora de los proyectos de migracin desde SQL Server 2000 se suele recomendar el rediseo de la solucin utilizando las caractersticas de AS 2008, es posible realizar
una migracin automtica hacia AS2008. El resultado final es similar al que se obtiene con la migracin desde DTS hacia SSISes decir, que aporta una solucin que aunque acaba haciendo lo
mismo que el original, no es lo ms ptima posible, entendiendo por esto, que no se explotan las
nuevas caractersticas.
Adicionalmente, debido a la profunda re-arquitectura conceptual del producto, hay que
considerar que el cubo resultante no es una fiel rplica operativa del cubo de 2000, y que esto
puede afectar a los informes existentes.
Por ejemplo, en caso de tener mltiples jerarquas en una dimensin, el asistente generar
dos dimensiones fsicas diferentes. As mismo, ante la existencia de un cubo virtual, al ser migrado
quedar convertido en un cubo fsico, dado que en SQL 2008 no existen los cubos virtuales.

SolidQ Press

Page 51 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Los siguientes pasos, ilustran el proceso necesario a seguir, en el caso de desear migrar un
cubo de AS2000 hacia AS2008:
1. Iniciar el asistente desde Management Studio

2. Especificar las instancias de origen y destino de AS.

SolidQ Press

Page 52 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

3. Seleccin de las bases de datos a migrar.

4. Fase de anlisis y validacin de la base de datos seleccionada.

SolidQ Press

Page 53 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

5. Migracin.

6. Fin de migracin y visualizacin de objetos migrados a AS 2005, es necesario procesar el


cubo para poder visualizar /navegar.

7. Procesado de los cubos. Cada cubo debe ser procesado individualmente. Esto debido a que
la migracin no realiza una migracin de datos sino una migracin de esquema. Es impor-

SolidQ Press

Page 54 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

tante planificar dentro del tiempo estimado de migracin, el tiempo necesario para el reprocesamiento de los objetos de SSAS

8. Generando una solucin de Visual Studio para poder redisear el resultado de la migracin.

SolidQ Press

Page 55 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

11. Ejecutar la herramienta Business Intelligence Developement Studio como se indica en la figura y elegir crear un proyecto nuevo

12. Elegir tipo de proyecto importar bbdd de Analysis Services 2005 en la plantilla de proyectos
y aceptar.

SolidQ Press

Page 56 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

13. Elegir instancia de 2005 y la base de datos desde la que se quiere crear el proyecto.

14. Fase de finalizacin de importado.

SolidQ Press

Page 57 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

15. Vista del nuevo entorno de desarrollo.

Con estos sencillos pasos, hemos obtenido un cubo en AS2008 funcionando gracias al asistente. Evidentemente, el proceso se puede complicar y para ver en qu medida, tendremos que
analizar mediante SSUA los potenciales problemas con los que nos podemos encontrar, y por otro
lado, la viabilidad de una migracin frente a un rediseo completo utilizando ya la nueva funcionalidad de AS2008

SolidQ Press

Page 58 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Apendice
En esta seccin, se da informacin sobre aspectos, que aunque tienen que ver con el proceso de migracin, su tratamiento no se ha querido que fuese en los puntos donde se utiliza para
mejorar la lectura del documento.

Actualizaciones de seguridad
Se recomienda actualizar a la ltima versin tanto los motores de origen como destino de SQL Server. Esto incluye tambin, cualquier actualizacin de seguridad de Sistema Operativo, con la finalidad de
minimizar al mnimo cualquier potencial riesgo de seguridad que haya sido corregido hasta la fecha en la
que comienza la migracin.

Finalizacion de trazas de Sql Profiler


Una vez declarada una traza de SQL Server Profiler desde cdigo T-SQL, el proceso de finalizacin de la misma (para poder utilizar su informacin) consta de dos pasos:
1. Parar traza
2. Finalizar traza
Con el siguiente script podemos ver el estado de cualquier traza en ejecucin
select traceid,value,
case when value = 1 then 'running'
when value = 0 then 'stopped'
else null
end status
from fn_trace_getinfo(null)
where property in (2,5)

Finalizar la traza
Como hemos comentado, para finalizar una traza, hemos de pararla y posteriormente cerrarla y finalizarla. Esto se hace mediante el siguiente script:
-- Paramos la traza
--

sp_trace_setstatus @traceid = x , @status = 0


go
-- Finalizamos la traza
--

sp_trace_setstatus @traceid = x , @status = 2


go
NOTA: el valor de x es el valor reportado por traceid del script de ver el estado actual

Generacion de Scripts de mantenimiento

SolidQ Press

Page 59 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

La herramienta SQL Server Management Studio posee entre sus caractersticas ms tiles
para los DBA, que prcticamente cualquier accin que realicemos con ella, es susceptible de ser
convertida en script. Para el caso de los scripts que deberemos lanzar una vez se haya migrado la
BBDD de SQL Server 2000 a 2008, se puede hacer simplemente haciendo doble clic sobre cada uno
de los componentes de mantenimiento que queramos. Para ello, podemos crear nuestra tarea de
mantenimiento post-migracin, que incluir Recreacin de ndices, actualizacin de estadsticas y
shrink de base de datos y luego crear un script para que sea ms rpida su ejecucin el da de puesta en produccin (evitndonos crear/modificar la tarea de mantenimiento)
Para crear una tarea de mantenimiento:

Una vez dentro de ella, podemos arrastrar componentes de la barra de herramientas a los
sub-planes tal y como se puede apreciar en la imagen:

Cuando hemos definido nuestra tarea de mantenimiento, generar los scripts (algo opcional)
puede realizarse simplemente mediante botn derecho->editar (ver siguientes dos imgenes)

SolidQ Press

Page 60 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Crear una solucin Visual Studio para gestionar todos los paquetes SSIS
Esta opcin es til para gestionar con control de versiones los paquetes SSIS. Visual Studio
permite trabajar con control de versiones y por lo tanto, se pueden gestionar paquetes SSIS mediante Team Foundation Server o Visual SourceSafe.
Para ello, lo que debemos hacer es abrir el entorno Visual Studio 2008 (viene incorporado
en las herramientas cliente de SQL Server 2008).
Crearemos un nuevo proyecto de Integration Services

SolidQ Press

Page 61 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Eliminaremos el paquete que nos crea en forma predeterminada y lo sustituiremos por todos nuestros paquetes .dtsx que hemos migrado

Una vez eliminado el paquete, ahora aadiremos todos los paquetes que queramos

SolidQ Press

Page 62 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez tengamos esto, el entorno los deja depurar entre otras cosas

SolidQ Press

Page 63 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

NOTA: la depuracin de tareas DTS en SSIS no funciona en entornos x64

Migracion Analysis Services en dos pasos


El cambio de Analysis Services entre SQL Server 2000 y 2008 es tan grande, que en la mayora de ocasiones, se suele proponer rehacer el cubo de nuevo utilizando las caractersticas de
Analysis Services 2008. En casos como este, evidentemente no se va a paralizar todo el proyecto
porque primero tengamos que redisear la solucin de Analysis Services (o partes de la misma)
para explotar al mximo la nueva tecnologa. En esos casos se suele optar por algo intermedio como es migrar el motor de SQL Server, pero dejar que siga funcionando Analysis Services 2000 temporalmente, mientras se finaliza el rediseo de la solucin.
En estos casos por tanto, existir una primera etapa en la que tendremos todos nuestros
servicios de SQL Server migrados a excepcin de Analysis Services, y que posteriormente ser migrado (recreado) en Analysis Services 2008.
Para que AS2000 pueda tener acceso a SQL Server 2008, debemos instalar el soporte nativo
de SQL Server 2008 en el servidor donde se encuentre funcionando la instancia de AS2000. De esta
forma, cambiando los orgenes de datos de los cubos hacia el DW en SQL Server 2008, el cubo de
AS2000 tendr como origen un DW en SQL Server 2008.

Idioma predeterminado de las conexiones


En el caso de que las aplicaciones cliente realicen consultas que involucren cadenas de texto que deban ser convertidas a datetime, es necesario cerciorarse de que el idioma de las conexiones que se abran contra el servidor es el adecuado. En el caso de que el formato que est utilizndose en Sql Server 2000 es, por ejemplo, Spanish, hay que cerciorarse que en SQL Server 2008
tambin lo sea. Para ello:

Nos cercioraremos que en forma predeterminada el idioma de los nuevos logins que se
aadan ser castellano

SolidQ Press

Page 64 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez modificado el valor (no requiere reinicio de la instancia pero s que se vuelva a reconectar el cliente), todos los logins nuevos se crearn con lenguaje Spanish y soportarn la especificacin de cast string-datetime que las aplicaciones estn utilizando.
Por ltimo, cerciorarse que no exista ningn login creado previamente a la modificacin anterior con idioma diferente a Spanish.

SolidQ Press

Page 65 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Gracias a esto, consultas como la siguiente


SELECT top 10 *
FROM tabla
where fecha = '30/11/2006'

No arrojarn el siguiente error:


Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime
value.

Seguridad en paquetes SSIS


Los paquetes SSIS son internamente XMLs. Puesto que en su definicin podemos configurar usuarios y contraseas, es importante tener en cuenta el tipo de seguridad que se aplica a los mismos para que
nadie pueda llegar a acceder a dicha informacin sin permiso.
En forma predeterminada, la seguridad de SSIS est ligada al usuario que crea el paquete, de forma
que dicho usuario sin saberlo cifra la informacin contenida en l y le posibilita modificar y ejecutar el paquete sin introducir sus credenciales. El problema viene cuando ms de un desarrollador va a realizar modificaciones sobre un paquete. En ese caso necesitaremos realizar una modificacin de seguridad para que la
informacin sensible sea cifrada mediante contrasea en lugar de mediante un UserKey. Para ello basta
con seguir los siguientes pasos:

SolidQ Press

Page 66 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

A partir de ese momento, cuando un desarrollador quiera modificar o subir a produccin el


paquete, se le solicitar dicha contrasea.

Integrar la nueva instancia en el parque de aplicaciones


El cambio del motor de base de datos va a afectar a ms cosas que solo a las bases de datos
que maneja. Deberemos por tanto adecuar el entorno donde se ha instalado, para que pueda acceder sin problemas al nuevo motor de SQL Server 2008:
SolidQ Press

Page 67 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Drivers
Puesto que las aplicaciones van a apuntar sobre un nuevo motor de SQL Sever, es
necesario actualizar los drivers de conexin de las mismas instalando los drivers de conexin MDAC 2.8 y Sql Native Client 2008.
Servidores vinculados
En el caso de actualizaciones Side-by-side, hay que crear los servidores vinculados
desde y hacia la nueva instancia de SQL Server 2008. Es por tanto necesario previamente
definir aquellos componentes que puedan verse afectados por la actualizacin.
Procesos de carga
Deberemos actualizar los procesos de carga (DTSs) bien sea mediante la migracin a
SSIS o mediante la utilizacin de los componentes heredados para compatibilidad hacia
atrs. En cualquiera de las dos situaciones, deberemos actualizar las cadenas de conexin
64 bits
En migraciones en las que adems de la propia migracin a SQL Server 2008, exista
una migracin de 32 a 64 bits, hay que poner especial atencin a los drivers de conexin
sobre todo en el caso de requerir conexin a motores de base de datos como Oracle,
AS400,desde la nueva instancia. Podria darse el caso de tener que instalar componentes
de 64 bits para poder acceder a las mismas desde el nuevo SQL Server 2008.
Recursos:
MDAC 2.8: http://www.microsoft.com/downloadS/details.aspx?FamilyID=6c050fe3-c7954b7d-b037-185d0506396c&displaylang=en
SQL Native Client 2005: http://msdn.microsoft.com/en-us/data/aa937733.aspx
Cadenas de conexin: www.connectionstrings.com

Instalar compatibilidad con SQL Server 2000


Para poder realizar la migracin de los paquetes DTS, es necesario instalar la compatibilidad
con el runtime de Servicios de Transformacin de datos, as como la compatibilidad de modo diseo de los servicios de transformacin de datos.
Actualmente se ofrece para SQL Server 2008 nicamente el runtime para DTSs de SQL Server 2000, pero existe la posibilidad de instalarse el diseador de DTS 2000 sobre SQL Server 2008
haciendo unas cuantas modificaciones que enseguida detallaremos.
Runtime DTS
Para disponer del runtime, debemos instalarnos los Componentes de compatibilidad con
versiones anteriores de Microsoft SQL Server 2005:
http://go.microsoft.com/fwlink/?LinkId=123703&clcid=0xc0a
Como vemos en la imagen, para nuestro caso nicamente instalaremos el runtime DTS

SolidQ Press

Page 68 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Una vez los tengamos instalados, podremos ejecutar paquetes DTS desde el servidor, pero
no podremos editarlos. Para editarlos necesitaremos el componente de edicin DTS.
Diseador DTS
Para instalar la compatibilidad en tiempo de diseo para paquetes de Servicios de transformacin de datos, hay que descargarse el siguiente instalable:
http://download.microsoft.com/download/2/3/4/2346ff78-ba75-4ba6-83e95c9d66a0a89a/SQLServer2005_DTS.msi
De forma predeterminada, los archivos binarios para SQL Server 2000 estn en la carpeta %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn y los archivos binarios para SQL Server 2008 estn en la
carpeta %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn.
Estas ubicaciones predeterminadas podran hacer la ruta de acceso de los archivos binarios para
SQL Server 2000 aparezca en la variable de entorno PATH antes que la ruta de acceso de los archivos binarios para SQL Server 2008. Si ocurre as, puede aparecer un mensaje de error al intentar utilizar el Diseador
DTS. Para resolver este error, copie los archivos que requiere el diseador a una nueva ubicacin, tal y como
se describe en los procedimientos siguientes.

Para asegurarse de que el Diseador DTS puede utilizarse en SQL Server Management Studio

SolidQ Press

Page 69 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

1. Copie los archivos, SEMSFC.DLL, SQLGUI.DLL y SQLSVC.DLL, de la carpeta %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn a la carpeta %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE.
2. Copie los archivos, SEMSFC.RLL, SQLGUI.RLL y SQLSVC.RLL, de la carpeta %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\Resources a la carpeta %ProgramFiles%\Microsoft SQL
Server\100\Tools\Binn\VSShell\Common7\IDE\Resources.

Para asegurarse de que el Diseador DTS se puede utilizar en Business Intelligence Development Studio
1. Copie los archivos, SEMSFC.DLL, SQLGUI.DLL y SQLSVC.DLL, de la carpeta %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn a la carpeta %ProgramFiles%\Microsoft Visual Studio
9.0\Common7\IDE.
2. Copie los archivos, SEMSFC.RLL, SQLGUI.RLL y SQLSVC.RLL, de la carpeta %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\Resources a la carpeta %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\Resources.

por que actualizar el nivel de compatibilidad?


El nivel de compatibilidad afecta slo al comportamiento de la base de datos especificada y
no a todo el servidor. El nivel de compatibilidad slo proporciona compatibilidad parcial con versiones anteriores de SQL Server.
La razn de actualizar el nivel de compatibilidad es para poder soportar mejoras en la sintaxis T-SQL que hagan uso de nuevas caractersticas soportadas por la ltima versin de SQL Server
2008. Adems, nuevos operadores existentes en SQL Server 2008 respecto a SQL Server 2000 pueden producir planes de ejecucin ms eficientes.
Por ejemplo, en la nueva versin de SQL Server 2008 existen operaciones MERGE, CUBE,
ROLLUP, que no pueden utilizarse si la base de datos no est en compatibilidad 100 (sql server
2008).
Hay que tener cuidado a la hora de cambiar el nivel de compatibilidad, puesto que si se hace en mitad de la compilacin de un plan de ejecucin, el nuevo plan podra resultar inconsistente
y los datos devueltos podran ser invlidos. No es necesario reiniciar la instancia para realizar el
cambio.
Para ms informacin: http://msdn.microsoft.com/es-es/library/bb510680.aspx

Documentos de referencia

SQL Server 2005 Upgrade Technical Reference Guide


SolidQ Press

Page 70 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

http://www.microsoft.com/downLoads/details.aspx?familyid=3D5E96D9-007446C4-BD4F-C3EB2ABF4B66&displaylang=en
SQL Server 2008 Upgrade Technical Reference Guide
http://www.microsoft.com/downloads/details.aspx?FamilyID=66d3e6f5-6902-4fddaf75-9975aea5bea7&displaylang=en

Recursos de interes

Pack de extensibilidad para SQL Server 2008:

http://www.microsoft.com/downloads/details.aspx?FamilyId=228de03f-3b5a-428a-923f58a033d316e1&displaylang=es

MDAC 2.8: http://www.microsoft.com/downloadS/details.aspx?FamilyID=6c050fe3-c795-4b7db037-185d0506396c&displaylang=en


SQL Native Client 2008: http://go.microsoft.com/fwlink/?LinkId=123718&clcid=0x409
Cadenas de conexin: www.connectionstrings.com
Diseador de DTS para SQL Server 2008 (compatibilidad 2000):
http://download.microsoft.com/download/2/7/c/27c60d49-6dbe-423e-9a9e1c873f269484/SQLServer2005_DTS.msi

SolidQ Press

Page 71 of 72

Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>

Enrique Catal Bauls


Enrique Catal es Ingeniero Informtico por la Universidad de Alicante desde
donde comenz a perfilar su inters por el almacenamiento y tratamiento de la
informacin hasta el punto que propuso su propio proyecto de fin de carrera
en el que dise un generador multiplataforma de bases de datos multidimensionales utilizando DSL (lenguajes de especificacin de dominio) y obteniendo
la nica matrcula de honor. Antes de formar parte de SolidQ, ejerci durante
ms de 3 aos de administrador y desarrollador de bases de datos para una
de las mas importantes tasadoras espaola. Centrado profesionalmente en
las bases de datos SQL Server, su rea de mayor experiencia se encuentra
tanto en la resolucin de problemas de rendimiento y escalabilidad en sistemas OLTP, como en la definicin e implementacin de entornos de alta disponibilidad confiables. Adems, le encanta ayudar a los dems y as lo hace
participando el foros, grupos de noticias, escribiendo artculos, Colabora
con Microsoft realizando Webcasts y conferencias para MSDN y mantiene
tanto su blog personal (http://ecatalab.blogspot.com/), como El Rincn del
DBA (http://blogs.solidq.com/es/elrincondeldba) con colegas de SolidQ.
SolidQ es el proveedor global confiable de servicios de formacin y soluciones avanzadas para
las aplicaciones de misin crtica, inteligencia de negocios y alta disponibilidad de su empresa.
SolidQ combina una amplia experiencia tcnica y de implementacin en el mundo real, con un
compromiso firme en la transferencia de conocimiento, dada la combinacin nica de dotes lectivas y
experiencia profesional que nuestros mentores ofrecen. De este modo no solamente ayudamos a nuestros clientes a solventar sus necesidades tecnolgicas, sino que somos capaces de incrementar la capacidad tcnica de sus profesionales, dndoles una ventaja competitiva en el mercado. Por eso llamamos
Mentores a nuestros expertos: por su compromiso en posibilitar el xito de su empresa y de sus equipos
profesionales a largo plazo.
Nuestros expertos son profesionales reconocidos en el mercado, con ms de 100 premios MVP
(Most Valuable Professional) obtenidos hasta la fecha. Se trata de autores y ponentes en las conferencias ms importantes del sector, con varios centenares de ponencias presentadas en conferencias internacionales durante los ltimos aos. Sirva como ejemplo, que nuestros expertos han diseado los ltimos cursos oficiales de Microsoft SQL Server 2005, y que han tenido el honor de impartir cursos de formacin a empleados de Microsoft en todo el mundo, sobre sistemas de bases de datos y tecnologas de
desarrollo de aplicaciones. Adems, han participado de tres Training Kits oficiales de Microsoft sobre
SQL Server 2005, as como en ms de 15 libros de Microsoft Press en todas las reas de la plataforma
de acceso a datos de Microsoft

SolidQ Press

Page 72 of 72

Вам также может понравиться