Migration SQL 2000 vers SQL 2005 : méthode « copy database »

SQL Serveur 2005

Introduction

Dans cette étude de cas, nous allons migrer une base de données d’une instance SQL 2000 vers une instance SQL 2005.

Vous avez plusieurs possibilités pour migrer votre base de données : détacher/attacher ou backup/restauration ou la copie de base de données sous SQL 2005 d’une base de données en provenance de SQL 2000. Dans notre notre exemple nous allons utiliser l’outil « copy database… »

Vous pouvez faire fonctionner SQL 2000 et SQL 2005 simultanément sans aucun problème, ce scénario est supporté. Et vous pourrez vous connecter avec SQL Management Studio (anciennement Entreprise Manager) à votre instance SQL 2000 et SQL 20005.

Avant de commencer vérifiez que le SQL Server Agent est démarré.

Commencez la migration SQL 2005

Etape 1 : Connectez-vous à votre instance SQL2000 via SQL Management Studio.

Migration SQL 2000 to SQL 2005

Etape 2 : Dérouler l’arborescence jusqu’à la base de données que vous souhaitez migrer et faites cliques droits >> « Tasks » >> « Copy Database… »

Migration SQL 2000 to SQL 2005

Etape 2 : Choisissez la source de données que vous souhaitez migrer. (dans mon exemple je copie vers SQL 2005 une instance nommée : SQL2000)

Migration SQL 2000 to SQL 2005

Etape 3 : Choisissez l’instance de destination, dans mon cas, j’ai local, car j’ai une instance nommé pour SQL 2000 et une instance par défaut pour SQL 2005. Logiquement si vous avez installé SQL 2005 après SQL 2000, vous devez avoir l’inverse.

Migration SQL 2000 to SQL 2005

Etape 4 : nous allons utiliser la méthode qui détache/attache la base de données

Deux méthodes vous sont proposées :  – La première méthode consiste à détacher et attacher la base de données. C’;est la méthode la plus rapide, cependant votre base de données sera mise hors ligne. – La seconde méthode est plus lente mais elle permet de laisser la base de données en ligne et de ne pas interrompre les utilisateurs actuelles de la base de données. Cette méthode utilise SMO (SQL Management Object). SMO est un ensemble de classe regroupant 6 namespaces. Il permet de gérer, administrer et maintenir vos base de données depuis vos applications en .NET.

Migration SQL 2000 to SQL 2005

Etape 5 : Vous avez le choix de supprimer et/ou copier la base de données.

Migration SQL 2000 to SQL 2005

Etape 6 : Choisissez l’emplacement physique des fichiers data et log . Dans les options de destination vous pouvez arrêter le transfert si la base existe, soit supprimer la base de données existante en l’;écrasant par le nouveau transferts.

Migration SQL 2000 to SQL 2005

Etape 7 : Sélectionnez les objets que vous voulez copier sur la nouvelle instance SQL 2005.

Migration SQL 2000 to SQL 2005

Etape 8 : Exécutez immédiatement la copie.

C’est terminé, vous pouvez vérifier que la base de données est copiée sur l’instance SQL 2005

Migration SQL 2000 to SQL 2005

Lors de la migration, SQL 2005 va garder la compatibilité de SQL 2000. Il vous faut faire des jeux de testes pour vérifier que vos applications fonctionnent correctement.

Compatibilité SQL 2000/ SQL 2005

Etape 1 : Nous allons modifier la compatibilité

Faites un clique droit sur le nom de la base de donnée >> « Propriété »

Dans la fenêtre de dialogue « Database Properties« , cliquez sur l’onglet « Options »

Changez le menu de compatibilité « SQL Server 2000(80) » par « SQL Server 2005(90) »

Migration SQL 2000 to SQL 2005

Vous avez aussi la possibilité de le faire en T-SQL

Exemple :

T-SQL — changement de base de données

USE

nomDeVotreBaseDeDonnées GO

— changement de compatibilité (90 correspond au niveau de compatibilité SQL 2005, 80 c’;est pour 2000)

EXECUTE

sp_dbcmptlevel

nomDeVotreBaseDeDonnées

,

90 GO

Etape 2 : Mise à jours des STATISTIQUES.

Il est recommandé, après avoir attaché ou changé le mode compatibilité en 90, d’exécuter la procédure stockées : sp_updatestats

La procédure système sp_updatestats permet de remettre à zéro les STATISTIQUES et de faire une MISE À JOUR automatiques pour tous les index et statistiques sur chaque table dans la base de données en cours. Vous éviterez ainsi des erreurs liées aux statistiques de la précédente version

Exemple :

T-SQL — changement de base de données

USE

nomDeVotreBaseDeDonnées GO

— mise à jours de statistique SQL

EXEC

sp_updatestats

GO

Conclusion

Si la migration de SQL 2000 ou SQL 7 semble facile. Pour le version SQL Server 6.0 et 6.5 changer la compatibilité est une tâche délicate. Le changement de compatibilité peu rendre votre application complément obsolète. Le changement de compatibilité de niveau 60 et 65 est désapprouvé sur le site MDSN. Je vous invites à lireMigrer la compatibilité SQL 2005Mon blog : Michel Degremont