Por Luis Ramirez, Revisiado por Ivanov Cepeda

Entre los casos de consultoría que últimamente se han abierto, se destacan aquellos relacionados con recomendaciones sobre qué camino tomar para la actualización de SQL 2000 a una nueva versión de SQL.

La respuesta realmente depende de las necesidades del cliente, la ventana de mantenimiento, funcionalidades requeridas, soporte, entre otras cosas. Este último tema es muy importante tenerlo en consideración, ya que, productos como SQL 2000 y SQL 2005 están fuera de lo denominado "Mainstream Support" por lo tanto, a menos que se hubiera firmado un contrato de soporte del producto extendido (muy pocas compañías lo tienen), o se trate de una vulnerabilidad considerada de alto riesgo, Microsoft NO realizara parches (HOTFIX) para problemas nuevos que se puedan presentar. El soporte será bajo lo denominado "Mejor esfuerzo" ("best effort") donde presentaremos soluciones alternas y/o podría ser el caso que la solución final sea la actualización a la ultima versión de producto.

Opciones:

Actualización SQL Server 2000 a SQL Server 2005 y luego a SQL Server 2008

PROS

  • Actualización rápida a una versión soportada.
  • Se tiene ventanas para estabilización, ir haciendo mejoras y remover código obsoleto.
  • Derechos para Software Assurance (SA)
  • Se actualiza la compatibilidad del aplicativo para correr en una plataforma vigente, tomando las ventajas que conlleva (nuevas funcionalidades, soporte, fácil migración a nuevos productos, etc)

CONS

  • 2 Procesos de actualización son necesarios
  • 2 Ventanas de mantenimiento donde los servicios serán impactados.
  • Sera hasta la última actualización cuando estarán disponibles las ultimas características del producto.
  • Potencial de que se necesitaran soluciones alternas para ciertas funcionalidades que no corran en el nuevo producto.

 

Actualización de SQL Server 2000 directamente a SQL Server 2008

PROS

  • Solo un proceso de actualización necesario
  • 1 Ventana de mantenimiento donde los servicios serán impactados.
  • Se tendrá las últimas características del producto inmediatamente.

CONS

  • Muchos cambios para desarrollo/DBA
  • Funciones obsoletas no disponibles inmediatamente, por lo tanto extensas pruebas serán requeridas.

En cuanto a la pregunta de si se realiza una actualización en sito o actualización usando una instancia alterna (“side by side”) :

Actualización en Sitio:

Actualización se hace sobre una instalación de SQL preservando los datos del usuario

El nombre de la instancia queda igual.

Proceso automatizado.

Proceso es similar de SQL 2000 a 2005

PROS

  • Fácil, automatizado la mayoría del proceso.
  • Generalmente más rápido.
  • No Requiere hardware adicional.
  • Aplicaciones se quedan apuntado al mismo servidor / base de datos

CONS

  • Se pierde control granular sobre ciertos procesos.
  • Instancia esta fuera de línea durante momentos de la actualización
  • No es la mejor práctica para todos los componentes.
  • Compleja estrategia en caso de que sea necesario revertir
  • Actualización usando una instancia alterna (“side by side”)
Proceso similar a una migración 2000-2005 (“side-by-side”)

Instala una nueva instancia de SQL Server.

Objetos de base de datos son copiados entre instancias.

Puede ser en el mismo servidor (hacia una nueva instancia) o un servidor diferente

El proceso por lo general es manual.

PROS

  • Se tiene un control granular del procesos de actualización.
  • Se puede usar para realizar pruebas sobre el proceso de migración.
  • Se pueden realizar pruebas, verificaciones simultáneas en ambos ambientes
  • Estrategia de revertir sencilla.
  • Se puede tomar ventaja de cambiar/mover entre ambos ambientes reduciendo el tiempo de indisponibilidad

CONS

  • Usualmente requiere de hardware adicional.
  • Requiere cambio de nombres de servidor/base de datos
  • No es práctico para VLDB (bases de datos de gran tamaño) a menos que se utilice una SAN.

Mas información:

SQL Server 2008 Upgrade Technical Reference Guide

http://www.microsoft.com/downloads/details.aspx?FamilyID=66D3E6F5-6902-4FDD-AF75-9975AEA5BEA7&displaylang=en

Useful links for upgrading to SQL Server 2008

http://blogs.msdn.com/b/sqlcat/archive/2009/03/27/useful-links-for-upgrading-to-sql-server-2008.aspx