Processus de mise à niveau de SQL Server 2000 vers SQL Server 2012


8

J'ai une base de données SQL Server 2000 que je voudrais mettre à niveau vers SQL Server 2012 (fonctionnant sur un autre serveur).

Je ne pense pas qu'il existe un chemin de mise à niveau direct, mais si c'est le cas, quel est-il?

Mon plan actuel est le suivant:

  1. Sauvegarder la base de données SQL Server 2000
  2. Restaurer sur le serveur avec SQL Server 2008 installé
  3. Définissez le niveau de compatibilité sur 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Sauvegarder la base de données du serveur SQL Server 2008
  5. Restaurer sur le serveur avec SQL Serevr 2012 installé
  6. Définissez le niveau de compatibilité sur 110(SQL Server 2012)

Suis-je en train de faire des étapes inutiles? Suis-je en train de manquer quelque chose (comme exécuter des utilitaires pour identifier l'utilisation de Transact-SQL non pris en charge)?


Vous voudrez toujours faire des choses comme mettre à jour les statistiques, mais sinon votre processus me semble juste.
Aaron Bertrand

Ne doit pas nécessairement être 2008 / R2 - 2005 est pris en charge en 2012.
OMG Ponies

Réponses:


5

Non, comme je le vois, vous n'avez rien manqué. J'ai mis à niveau une de mes bases de données de SQL Server 2000 vers SQL Server 2012.

Une autre façon consiste à mettre à niveau l'ensemble du serveur - dans ce cas, vous pouvez utiliser l'assistant de mise à niveau.

MISE À JOUR: mon processus de mise à niveau a réussi, mais faites attention aux fonctionnalités abandonnées et obsolètes dans SQL Server 2008 et 2012.


Existe-t-il un moyen automatisé d'identifier ces fonctionnalités abandonnées et dépréciées?
automatique

Comme pour 2000-> 2008, cette méthode consiste à utiliser l'assistant de mise à niveau. Dans votre SQL Server 2000, vous devez exécuter la configuration de SQL Server 2008, puis sélectionner Planification -> Installer l'adwizor de mise à niveau. Après l'installation, essayez de l'exécuter. Mais je n'ai pas essayé de le faire sur Windows 2000, peut-être que cette méthode ne fonctionnera pas.
Alex_L

1
Vous ne pouvez pas mettre à niveau directement de 2000 à 2012. Vous devrez d'abord mettre à niveau vers 2005/2008/2008 R2, mettre à jour le niveau de compatibilité de vos bases de données à 90 ou 100, puis mettre à niveau vers 2012.
Aaron Bertrand

@AaronBertrand est-il indispensable de changer le niveau de compatibilité pour le processus de mise à niveau?
StanleyJohns

2
Oui, car SQL Server 2012 ne prend pas en charge la compatibilité 80 (2000). Vous n'êtes pas obligé de le changer jusqu'à 110, mais vous ne devriez le garder dans 90 ou 100 que si vous avez une bonne raison ...
Aaron Bertrand

1

Faites attention aux colonnes contenant des articles de blog, par exemple.

Les text, ntextet les imagetypes de données fréquemment utilisés dans SQL Server 2000, sont déconseillés dans SQL Server 2012 (même si elles sont encore disponibles), et devrait être remplacé par varchar(max), nvarchar(max)et les varbinary(max)types de données, respectivement.


1

Voici une requête rapide pour voir si l'une de vos tables utilise des types de données obsolètes.

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' )
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.