Proceso de actualización de SQL Server 2000 a SQL Server 2012

8

Tengo una base de datos SQL Server 2000 que me gustaría actualizar a SQL Server 2012 (ejecutándose en un servidor diferente).

No creo que haya una ruta de actualización directa, pero si la hay, ¿cuál es?

Mi plan actual es:

  1. Copia de seguridad de la base de datos SQL Server 2000
  2. Restaurar en el servidor con SQL Server 2008 instalado
  3. Establezca el nivel de compatibilidad en 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Copia de seguridad de la base de datos del servidor SQL Server 2008
  5. Restaurar en el servidor con SQL Serevr 2012 instalado
  6. Establecer el nivel de compatibilidad en 110(SQL Server 2012)

¿Estoy haciendo pasos innecesarios? ¿Me falta algo (como ejecutar utilidades para identificar el uso de Transact-SQL no compatible)?

automático
fuente
Todavía querrás hacer cosas como actualizar estadísticas, pero de lo contrario tu proceso me parece correcto.
Aaron Bertrand
No tiene que ser 2008 / R2 - 2005 es compatible con 2012.
OMG Ponies

Respuestas:

5

No, como yo lo veo, no te perdiste nada. He actualizado una de mis bases de datos de SQL Server 2000 a SQL Server 2012.

Otra forma es actualizar todo el servidor; en este caso, puede usar el asistente de actualización.

ACTUALIZACIÓN: mi proceso de actualización fue exitoso, pero tenga cuidado con las funciones descontinuadas y obsoletas en SQL Server 2008 y 2012.

Alex_L
fuente
¿Existe una forma automatizada de identificar esas funciones descontinuadas y depreciadas?
automático
En cuanto a 2000-> 2008, esta manera es utilizar el Asistente de actualización. En su SQL Server 2000, debe ejecutar la instalación de SQL Server 2008 y luego seleccionar Planificación -> Instalar adwizor de actualización. Después de la instalación, intente ejecutarlo. Pero no intenté hacerlo en Windows 2000, quizás este método no funcione.
Alex_L
1
No puede actualizar directamente de 2000 a 2012. Primero deberá actualizar a 2005/2008/2008 R2, actualizar el nivel de compatibilidad de sus bases de datos a 90 o 100, y luego actualizar a 2012.
Aaron Bertrand
@AaronBertrand ¿es obligatorio cambiar el nivel de compatibilidad para el proceso de actualización?
StanleyJohns
2
Sí, porque SQL Server 2012 no admite la compatibilidad 80 (2000). No tiene que cambiarlo hasta 110, pero solo debe mantenerlo en 90 o 100 si tiene una buena razón ...
Aaron Bertrand
1

Presta atención a las columnas que contienen publicaciones de blog, por ejemplo.

Los tipos de datos text, ntexty imageutilizados con frecuencia en SQL Server 2000, están en desuso en SQL Server 2012 (aunque todavía están disponibles), y deben reemplazarse por varchar(max), nvarchar(max)y varbinary(max)tipos de datos, respectivamente.

mjjjj2001
fuente
1

Aquí hay una consulta rápida para ver si alguna de sus tablas está utilizando tipos de datos obsoletos.

SELECT  sys.objects.NAME AS [table_name] ,
        sys.columns.NAME AS [column_name] ,
        sys.types.NAME AS [data_type]
FROM    ( sys.columns
          INNER JOIN sys.objects ON sys.objects.object_id = sys.columns.object_id
        ) INNER JOIN sys.types ON sys.types.system_type_id = sys.columns.system_type_id
WHERE   sys.types.name IN ( 'text', 'ntext', 'image' )
RThomas
fuente