Migración SQL Server 2000-2005 2008
Migración SQL Server 2000-2005 2008
SOLIDQ PRESS
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
Page 2 of 72
Mster en BI
http://www.solidq.com/es/MasterBI
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: [email protected]
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>
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>
SolidQ Press
Page 9 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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.
SolidQ Press
Page 10 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
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.
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
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
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
SolidQ Press
Page 17 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
Analysis Manager
Isql/osql
Sqlcmd/powershell
Sql Mail
Database Mail
Configurador de superficie
English query
Obsoleto
SQL-DMO
BCP
BCP (mejorado)
SolidQ Press
Page 18 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
SolidQ Press
Page 19 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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.
SolidQ Press
Page 20 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
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.
SolidQ Press
Page 23 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
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
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.
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
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.
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.
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)
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.
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).
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>
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>
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)
SolidQ Press
Page 32 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
5. Lanzaremos la traza
SolidQ Press
Page 33 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
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
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
SolidQ Press
Page 39 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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
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
SolidQ Press
Page 42 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
SolidQ Press
Page 48 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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>
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.
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
SolidQ Press
Page 52 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
SolidQ Press
Page 53 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
5. Migracin.
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.
SolidQ Press
Page 57 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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.
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
--
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>
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>
SolidQ Press
Page 66 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
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
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.
Documentos de referencia
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
http://www.microsoft.com/downloads/details.aspx?FamilyId=228de03f-3b5a-428a-923f58a033d316e1&displaylang=es
SolidQ Press
Page 71 of 72
Planificando la migracin de SQL Server 2000-2005 a SQL Server 2008 Para <Lector>
SolidQ Press
Page 72 of 72