Le conseiller de mise à niveau SQL Server 2005

Utilisation du conseiller pour la migration

Par Fabrice Romelard, Consultant Technique Ilem SA

Fabrice Romelard

Dans un précédent article, nous avons vu comment migrer des bases de MSDE vers SQL Server 2005 Express Edition, mais qu'en est-il pour les versions non-gratuites. Il existe de nombreux clients qui sont actuellement sous SQL Server 2000 et souhaitent migrer vers 2005.
Quels sont les règles à respecter ?
Comment savoir si notre base est correcte pour SQL Server 2005 ?

Nous verrons dans cet article comment évaluer la possibilité de cette migration grace à l'outil :

Sur cette page

Installation Installation
Analyse de l'architecture Analyse de l'architecture
Exploitation des résultats Exploitation des résultats
Conclusion Conclusion

Introduction

Depuis le lancement de la nouvelle version de SQL Server et maintenant avec l'arrivée du Service Pack 1, beaucoup de clients souhaitent migrer les installations fonctionnant sous SQL Server 2000 vers SQL Server 2005. Le souci se pose pour savoir comment effectuer celle-ci et surtout les précautions à prendre avant de se lancer.

Les mêmes précautions sont à prendre pour la migration MSDE 2000 vers SQL Server 2005 Express Edition.

Présentation

Nous avons vu dans un précédent article comment migrer une base MSDE 2000 vers SQL Server 2005 Express Edition :

Mais cet article ne donne pas la garantie que des développements ou des scripts spécifiques ne vont pas bloquer lors de la mise en place sur la version 2005. Il en est de même pour les versions non-gratuites.

Ainsi Microsoft a développé un outil permettant de faire cette analyse au préalable afin de fournir un rapport de "migrabilité" d'une base ou d'un ensemble de bases.

Cet outil est totalement gratuit et est disponible ici :

Nous verrons dans cet article comment installer et utiliser cet outil afin de préparer au mieux cette migration.

Installation

Une fois que le fichier d'installation a été téléchargé, nous pouvons lancer le fichier "SQLUASetup.msi". On voit alors apparaître l'écran d'accueil de l'installation.

On voit alors le contrat de licence à accepter

Puis le renseignement du nom et de la société.

On sélectionne alors le répertoire d'installation de l'application.

On peut alors lancer l'installation de l'application.

L'installation s'effectue avec la copie des fichiers ainsi l'enregistrement des composants.

Pour enfin avoir l'écran de fin. L'application est alors installée et accessible par le menu :

  • Démarrer > Programme > Microsoft SQL Server 2005 > Conseiller de mise à niveau SQL Server 2005

Nous allons donc voir maintenant comment analyser une architecture afin de valider la possibilité de migration.

Analyse de l'architecture

La migration vers SQL Server 2005 peut s'effectuer depuis SQL Server 7 ou SQL Server 2000. Cet outil permet donc d'auditer les bases et la configuration du serveur à migrer afin de définir son niveau de compatibilité avec la nouvelle version.

Une fois l'outil lancé, nous avons un écran d'accueil présentant l'objectif de l'application.

Afin de tester la migration nous devons regarder les liens du bas. On trouve donc :

  • Lancer l'Assistant Analyse du Conseiller de mise à niveau

  • Lancer la visionneuse de rapports du Conseiller de mise à niveau

Nous cliquons sur le premier lien afin de sélectionner l'environnement à analyser. Lors du lancement, nous avons dans un premier temps un écran de présentation de ce qui va être effectué.

On sélectionne le serveur SQL (2000 ou 7) et le moteur à analyser.

L'outil est capable d'auditer les moteurs suivant :

  • SQL Server

  • Analysis Services

  • Notification Services

  • Reporting Services

  • DTS (Data Transformation Services)

On doit alors fournir le nom de l'instance SQL Server et les paramètres de connexion.

On spécifie alors les bases à analyser. On peut aussi ajouter des fichiers de trace SQL Server ou des scripts TSQL.

Maintenant, on analyse les package DTS (si on l'a coché au départ) du serveur ou en analysant les fichiers de package.

On voit alors le résumé de ce qui va être analysé.

On peut envoyer le rapport de cette exécution pour Microsoft. Il ne reste plus qu'à exécuter l'analyse.

On obtient alors le bilan de cette analyse.

On peut cliquer les la cellule de Messages afin de savoir comment s'est déroulée cette analyse pour l'analyse des bases.

Et pour l'analyse des DTS actuellement sur le serveur.

Tout le détail de cette analyse se trouve compilé dans un rapport que l'on peut ouvrir en lancant la visionneuse de rapport.

Voyons maintenant comment exploiter ces résultats.

Exploitation des résultats

Une fois l'analyse terminée, nous pouvons ouvrir les rapports générés avec la visionneuse de rapport. Ces rapports sont des fichiers XML qui sont stockés par défaut (modifiable lors du lancement de l'analyse) dans le répertoire :

  • [Mes Documents]\SQL Server 2005 Upgrade Advisor Reports\ServerSQL\

Vous trouverez les fichiers correspondant à chaque moteur SQL analysé (DE.xml pour DataBase Engine, DTS.xml pour Data Transformation Services, ...).

La visualisation est beaucoup plus adaptée par la visionneuse.

On peut développer chaque message afin d'obtenir plus d'information sur celui-ci.

On voit donc pour notre exemple :

  • Le niveau d'importance

  • Le moment choisi pour la résolution (avant, après, n'importe quand, ...)

  • La description du problème

  • Les détails sur cette description

  • Un lien permettant de connaître les objets affectés

  • Un lien permettant d'avoir plus d'informations sur le problème remonté

Ainsi, notre exemple portant sur une installation SharePoint Portal Server et Windows Sharepoint Services remonte l'erreur suivante :

  • Les constantes dont la taille est importante sont catégorisées comme types de valeurs élevées en mode de compatibilité 90

Pour les bases de ces deux environnements, avec la procédure stockée présente dans chaque base de cet environnement :

  • proc_CreateSearchProcs

On peut cliquer sur le lien pour avoir plus d'informations sur ce problème, on peut cliquer sur :

  • En savoir plus ce problème et sur sa résolution

Qui nous ouvre un fichier d'aide directement sur le problème signalé.

En ouvrant ces procédures stockées dans un Analyseur de requêtes, on observe que cette procédure effectue un "EXEC" d'une longue requête en paramètre. On peut ainsi laisser celle-ci telle qu'elle est puisque ce champ n'évoluera jamais (requête fixe).

De ce fait, cette alerte peut être définie comme résolue en cliquant sur la coche présente au bas de l'alerte.

Il faut donc regarder et traiter chaque erreur de la sorte.

Conclusion

Après avoir vu les différentes erreurs remontées et les avoir traité ou validé, nous pouvons alors effectuer cette migration de version.

Il existe différentes possibilités de migration :

  1. Migration sur un nouveau serveur physique

  2. Migration sur une nouvelle instance sur le même serveur physique

  3. Migration par Upgrade du moteur SQL Server

Les deux premières sont à évaluer principalement suivant les disponibilités matérielles (possibilité d'avoir une nouvelle machine ou non, capacité de disque pour les bases, ...). L'idéal étant bien sur la première solution.

La dernière possibilité est surtout à choisir pour les installations de grande taille (plusieurs centaines de Giga Octets), dont les fichiers ne peuvent pas être déplacés ou copiés aisément (par exemple quand les fichiers sont placés sur un SAN). Ainsi, on ne pourra pas non plus monter de second moteur avec une instance nommée (car il faudrait une copie des fichiers de base durant la période de migration). On devra donc passer par l'upgrade du moteur sur ce serveur.

Attention : L'upgrade ne permet pas de retour arrière. On est donc obligé que cela fonctionne à la fin et ne nous permet plus de revenir à la situation initiale.

Vous pouvez trouver de plus amples informations sur les liens ci-dessous :

Comment migrer vers SQL Server 2005 ?(FR)

Conseiller de mise à niveau Microsoft SQL Server 2005 (FR)

Migrer de MSDE 2000 vers SQL 2005 Express (FR)

Migration SQL 2000 vers SQL 2005 (FR)

SQL Server (US) Site en Anglais

Upgrade Your Skills to SQL Server 2005 (US) Site en Anglais

TechNet Webcast: Upgrading to SQL Server 2005 (Level 200) (US) Site en Anglais

En vous souhaitant de bons projets de développement.

Romelard Fabrice (alias F___)
Consultant Technique ilem SA