Migration SQL 2000 vers SQL 2005 : méthode "copy database"
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é.
1. Commencez la migration SQL 2005
Etape 1 : Connectez-vous à votre instance SQL2000 via SQL Management
Studio.

Etape 2 : Dérouler l'arborescence jusqu'à la base de données
que vous souhaitez migrer et faites cliques droits >> "Tasks" >> "Copy
Database..."

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)

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.

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.

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

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.

Etape 7 : Sélectionnez les objets que vous voulez
copier sur la nouvelle instance 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

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)"

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 à lire
Migrer la compatibilité SQL 2005
Mon blog : Michel
Degremont