Mise à niveau de SQL Server 6.5

Oui, je sais. L'existence d'une copie courante de SQL Server 6.5 en 2008 est absurde.

Cela étant précisé, quelle est la meilleure façon de migrer de 6.5 vers 2005 ? Existe-t-il un chemin direct ? La plupart de la documentation que j'ai trouvée traite de la mise à niveau de 6.5 vers 6.5.

Dois-je oublier les utilitaires de mise à niveau natifs SQL Server, scripter tous les objets et données, et essayer de recréer à partir de zéro ?

J'allais tenter la mise à jour ce week-end, mais des problèmes de serveur l'ont repoussé au prochain. Ainsi, toutes les idées seront les bienvenues au cours de la semaine.

Mettre à jour. Voici comment j'ai fini par le faire :

  • Sauvegarder la base de données en question et Master sur 6.5.
  • Exécutez le instcat.sql de SQL Server 2000 contre le maître de 6.5. Cela permet au fournisseur OLEDB de SQL Server 2000 de se connecter à 6.5.
  • Utilisez le 'Import and Export Data' autonome de SQL Server 2000 pour créer un package DTS, en utilisant OLEDB pour vous connecter à 6.5. Cela a réussi à copier toutes les tables de 6.5 dans une nouvelle base de données 2005 (utilisant également OLEDB).
  • Utilisez Enterprise Manager de 6.5 pour créer un script de tous les index et déclencheurs de la base de données dans un fichier .sql.
  • Exécutez ce fichier .sql avec la nouvelle copie de la base de données, dans Management Studio 2005.
  • Utilisez le gestionnaire d'entreprise de la version 6.5 pour créer un script de toutes les procédures stockées.
  • Exécutez ce fichier .sql avec la base de données 2005. Plusieurs dizaines de sprocs avaient des problèmes les rendant incompatibles avec 2005. Principalement non-ANSI joins et quoted identifier issues.
  • Corrigé tous ces problèmes et réexécuté le fichier .sql.
  • Recréé les connexions de 6.5 dans 2005 et leur a donné les autorisations appropriées.

Il y a eu un peu de rinçage/répétition lors de la correction des procédures stockées (il y en avait des centaines à corriger), mais la mise à niveau s'est bien passée autrement.

Pouvoir utiliser Management Studio au lieu de Query Analyzer et Enterprise Manager 6.5 est une différence tellement incroyable. Quelques requêtes de rapport qui prenaient 20 à 30 secondes sur le 6.5 database s'exécutent désormais en 1 à 2 secondes, sans aucune modification, aucun nouvel index ou quoi que ce soit. Je ne m'attendais pas à ce genre d'amélioration immédiate.

请先 登录 后评论

2 réponses

Dillie-O

Hé, je suis toujours coincé dans ce camp aussi. L'application tierce que nous devons prendre en charge passe ENFIN à 2K5, nous sommes donc presque sortis du bois. Mais je ressens ta douleur 8^D

Cela dit, d'après tout ce que j'ai entendu de notre DBA, la clé est de convertir d'abord la base de données au format 8.0, puis de passer à 2005. Je pense qu'ils ont utilisé les outils de migration/mise à niveau intégrés pour cela. Il y a quelques grandes étapes entre 6.5 et 8.0 qui sont mieux résolues que de passer directement de 6.5 à 2005.

Votre PLUS GRAND problème, si vous ne le saviez pas déjà, est que DTS est parti en faveur de SSIS. Il existe un module de type shell qui exécutera vos packages DTS existants, mais vous voudrez tous les recréer manuellement dans SSIS. La facilité dépendra de la complexité des packages eux-mêmes, mais j'en ai fait quelques-uns au travail jusqu'à présent et ils ont été assez fluides.

请先 登录 后评论
Goyuix

Je ne suis en aucun cas autoritaire, mais je pense que le seul chemin pris en charge est de 6,5 à 7. Ce serait certainement la voie la plus sensée, alors je pense que vous pouvez migrer de 7 directement vers 2005 assez facilement.

En ce qui concerne l'écriture de scripts sur tous les objets, je vous le déconseille car vous manquerez inévitablement quelque chose (à moins que votre base de données ne soit vraiment triviale).

请先 登录 后评论