SQL 2005 –> SQL 2008: Lo que debo tener en cuenta en mi próxima migración

Una semana muy entretenida que termino con una cereza en el pastel… una migración que no fue tan sencillo como me fue de SQL 200 a 2005. A veces sentimos que planificamos todo realmente bien (técnicamente hablando), pero no siempre tenemos buenos resultados, a raíz de esto, con los temas ya solucionados, decidí escribir mi experiencia en esta migración.

La migración que lleve a cabo incluía a las Base de Datos que estaban en SQL 2005, paquetes de Integration Services 2005 y reportes en Reporting Services 2005, en cuanto a Analisys Services ya no tuve que hacerlo porque el proyecto ya lo tengo en la nueva versión (ya no tan nueva que digamos).

1.- Base de Datos

Como ya lo hemos visto en versiones anteriores SQL2008 también tiene una herramienta que da un “check” a nuestra configuración y componentes necesarios (tanto hardware como software)

check Upgrade

 

El System Configuration Checker identifica los componentes instalados y el hardware que tenemos.

El install Upgrade Advisor te instala un programita que te ayudara a verificar las compatibilidades de tu BD para ser el upgrade a 2008

image

 

y con un sencillo wizard te ayuda a identificar los posibles problemas en tu migración, lo bueno de esta herramienta es que te analiza todos los componentes de SQL no solo la BD sino también reportes, paquetes de SSIS, hasta DTS de la versión 2000 y por supuesto proyectos de Analisys Services de versiones anteriores. FInalmente me manda un reporte como este:

image

Y como buen apurado que soy no me di cuenta de un warning muy importa del cambio de la versión del SQLClient, que en la parte de SSIS les explicare el gran problema que tuve. (por cierto también me recomendó el usar las nuevas capacidad de SSIS en cuanto a lookup que seguro en otro post lo explicaré.), también me menciona casos del full text index, de los cambios realizados, pero como deje de usar esa característica, lo deje 🙂

si desean mas datos (realmente es sencillo el uso) aca les dejo unos links:

Bueno una vez que vemos que en la BD no hay mas problemas, entonces vamos al siguiente paso que es un poco mas interesante SSIS.

2.- Integration Services

En esta parte realmente el problema no fue en la instalación, sino en hacer que mis paquetes hechos en SQL2005 funcionen. Como vimos en el Upgrade Advisor ya debí de haberme dado cuenta que tenia un problema con la versión del SQLCliente para mis conexiones OLEDB de mis paquetes, pero no fue el único problema.

Una vez hecho el upgrade y queriendo ejecutar un paquete (ya convertido a SSIS 2008) me mostró el siguiente error: (la ejecución fue “dtexec.exe /f D:JOGASyncPrices.dtsx /CONFIGFILE D:JOGAnewConfigBase.dtsConfig”)

Error: 2009-07-12 16:33:11.44
Code: 0xC001700A
Source:  
Description: The version number in the package is not valid. The version number cannot be greater than current version number.
End Error

Busque solucionar este error de muchas formas, pensando que era el paquete el problema, analizando el xml, los archivos de configuración etc etc etc… y gracias a este foro –> http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/744957ad-038a-46ba-aa70-0adab03a5f4d/ me indica que el problema es el DTEXEC, como deseo que se ejecute con el DTEXEC de SSIS 2008 debo colocar su ruta completa es decir: “C:Program FilesMicrosoft SQL Server100DTSBinndtexec.exe /f D:JOGASyncPrices.dtsx /CONFIGFILE D:JOGAnewConfigBase.dtsConfig”. Con ese pequeño cambio las cosas mejoraron pero no se solucionaron por completo, porque a la siguiente ejecucion me salio un warning que al inicio no le hacia caso pero era el culpable de que nos e ejecutara mis paquetes este fue:

Warning: 2009-07-12 16:30:29.55
Code: 0x80012011
Source: SynPrices 
Description: Cannot load the XML configuration file. The XML configuration file may be malformed or not valid.
End Warning

Como verán se ejecutaba mi paquete pero no se leía mi archivo de configuración, en el cual tengo mis conexiones a servidores de producción, entonces se ejecutaba el paquete y se cargaba todo en mi ambiente de pruebas. Esto si fue un poco mas tardado encontrar la solución, aplique la filosofía de mi master: “divide y vencerás” :p .. es decir deshice mi paquete, para que no se vea tan complejo y probar parte por parte y encontré el problema, era el archivo de configuración.

Resulta que en la versión anterior yo tenia un archivo de configuración para todos mis paquetes, en este archivo de configuración colocaba todas mis conexiones, y aunque no lo usara en el paquete funcionaba, pues en SSIS 2008 ya no funciona igual, si hay alguna conexión que no estas utilizando en el paquete (es decir que no este en el connection managers del paquete) te sale muestra ese warning. Entonces empecé a crear archivos de configuración para cada paquete (realmente generalice unos cuantos, ya que varios paquetes usaban las mismas conexiones) y con eso lo solucione.

Finalmente lo ultimo es cambiar el provider de SQL Native Client a SQL Server Native Client 10.0, con estos cambios ya empieza a funcionar todo normalmente, seguro esta semana estaré viendo algunas consecuencias de mi migración de SSIS y les estaré comentando. (con mi cnx de .net Providers no tuve ningún problema :p)

aca unos links de interes:

3.- Reporting Services

Con el upgrade a 2008, realmente no tuve grandes problemas, mis reportes funcionaron a no ser que tuve que hacer algunos arreglos en mi IIS.

Como sabrán con SQL2008 ya no es necesario tener IIS instalado en el server para utilizar SSRS, y en el upgrade lo que hizo automáticamente es habilitar el puerto 8081 para mis reportes (antes se encontraban en el puerto por defecto del IIS 8080).

Debes agregar los permisos necesarios y las credenciales necesarios, para no repetir todo esto seguimos el Upgrade WorkFlow que nos proporciona la documentación de Microsoft –> http://technet.microsoft.com/en-us/library/ms143747.aspx 

Fuera de esto el problema viene con los reportes que desarrollamos en SSRS2005, que es motivo para un post completo. En una próxima edición :p

Y con todo esto hoy día puedo decir que por fin funciono lo que tenia que funcionar :p

Espero les ayude en algo la experiencia que tuve 🙂 .. hasta la próxima

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *