SQL Server : Planification de votre migration vers SQL Server 2008 R2

Le passage à SQL Server 2008 R2 n’est pas anodin. Veillez à étudier attentivement votre environnement et à planifier soigneusement vos étapes pour assurer une migration sans heurts.

Brien Posey

Le passage à SQL Server 2008 R2 n’est pas toujours une décision à prendre à la légère. Il s’agit d’une mise à niveau majeure et d’une transition importante. À l’opposé d’autres produits Microsoft, SQL Server 2008 R2 prend en charge les mises à niveau sur place. Si vous utilisez SQL Server 2000, 2005 ou 2008, il vous suffira peut-être d’installer SQL Server 2008 R2 sur votre SQL Server existant.

Cependant, le passage à SQL Server 2008 R2 n’est généralement pas aussi simple que d’insérer le disque d’installation et de l’exécuter via un assistant d’installation. Dans certaines situations, vous devrez migrer, plutôt que de mettre à niveau votre SQL Server. Ceci explique certaines de vos options connexes au passage à SQL Server 2008 R2.

Conseil avisé

Une vérification approfondie de l’infrastructure est toujours recommandée avant toute mise à niveau majeure. Dans ce cas, le Conseiller de mise à niveau SQL Server peut vous aider à déterminer si vous êtes ou non en mesure de mettre à niveau directement vers SQL Server, ou si vous devrez effectuer une migration. Le rôle du Conseiller de mise à niveau consiste à analyser vos serveurs SQL et d’établir un rapport relatif à tout problème susceptible d’interférer avec la réussite de la mise à niveau. Vous pouvez soit corriger ces problèmes avant la mise à niveau, soit commencer par planifier une migration.

Le Conseiller de mise à niveau SQL Server est un outil gratuit inclus dans le SQL Server 2008 R2 Feature Pack (vous pouvez le télécharger à partir du Centre de téléchargement Microsoft). Une fois que vous avez téléchargé et décompressé le SQL Server 2008 R2 Feature Pack, vous trouverez le Conseiller de mise à niveau dans le dossier \X64\Redist\Upgrade Advisor. Le Conseiller de mise à niveau, disponible en version x86 et Itanium, se trouve respectivement dans les dossiers \X86 et \IA64.

La plupart des installations SQL Server sont stratégiques. Ainsi, il se peut que vous soyez réticent à exécuter un utilitaire tel que le Conseiller de mise à niveau, de peur d’engendrer des problèmes. De telles craintes peuvent être dues au fait que vous devez installer un certain nombre de composants requis, avant même d’exécuter le Conseiller de mise à niveau.

Bien heureusement, vous n’aurez pas toujours à exécuter le Conseiller de mise à niveau directement sur votre serveur SQL. Vous pouvez l’installer sur Windows XP (SP2 ou une version ultérieure), Windows Vista, Windows 7, Windows Server 2003 (SP2 ou une version ultérieure) ou Windows Server 2008. Une fois installé, vous pourrez l’utiliser pour une analyse à distance de vos serveurs SQL. Une exception cependant : vous devez exécuter le Conseiller de mise à niveau de façon locale sur certains de vos serveurs si ces derniers exécutent SQL Server Reporting Service.

Bien que l’anticipation des problèmes susceptibles d’interférer avec une mise à niveau soit satisfaisante, le Conseiller de mise à niveau ne vérifie pas certains éléments. Par exemple, il ne peut pas vérifier les applications bureautiques, ni les procédures chiffrées et stockées. Il est également doté de fonctionnalités supprimées de contrôle des problèmes.

N’oubliez pas que le SQL Server 2008 R2 prend en charge les mises à niveau à partir des anciennes versions de SQL Server, telles que la version 2000. SQL Server s’est énormément développé au fil des années. Microsoft a ajouté de nouvelles fonctionnalités dans chaque version de SQL Server, bien que nombre d’entre elles ont également été supprimées. Dans certains cas, le Conseiller de mise à niveau ne signale pas les problèmes relatifs aux fonctionnalités obsolètes. Un autre exemple illustrant ce fait : le Conseiller de mise à niveau n’analyse pas les Notification Services, ces derniers ayant été supprimés du SQL Server 2008.

Un article TechNet énumère tous les problèmes relatifs à la compatibilité descendante de SQL Server, autant les fonctionnalités SQL Server supprimées et désapprouvées, que les modifications liées à certains comportements pouvant éventuellement mettre en arrêt les applications SQL Server. Cet article couvre uniquement les fonctionnalités qui ont été modifiées ou supprimées, depuis SQL Server 2008. Si vous utilisez une version plus ancienne, vous devrez effectuer quelques recherches supplémentaires afin de découvrir les éléments qui ont été modifiés depuis l’apparition de votre version.

Chemin d’accès à la mise à niveau

Si vous souhaitez essayer une mise à niveau sur place, vous devez travailler dans les chemins d’accès à la mise à niveau autorisés Microsoft. Cela signifie essentiellement que la version et l’édition de SQL Server vers laquelle vous effectuez la mise à niveau est définie par la version que vous utilisez actuellement.

Par exemple, supposons que vous ayez un serveur s’exécutant sur SQL Server 2005 (x64) Enterprise avec SP2. Les seules options qui s’offrent à vous pour la mise à niveau vers SQL Server 2008 R2 sont de une mise à niveau soit vers Enterprise Edition, soit vers Datacenter Edition. Microsoft dispose d’un graphique détaillé mettant en avant les éditions de SQL Server 2008 R2 prises en charge par divers scénarios de mise à niveau. Il faut cependant prendre en compte certains éléments des chemins d’accès à la mise à niveau. Vous devez donc consulter le graphique avant d’acheter vos licences SQL Server 2008 R2. Quelques règles générales valables subsistent toujours néanmoins, pour la plupart des chemins d’accès à la mise à niveau :

  • Vous ne pouvez effectuer de mise à niveau que vers la même édition ou vers une édition ultérieure de SQL Server. Par exemple, si vous utilisez la version Datacenter Edition, vous ne pouvez pas utiliser la procédure de mise à niveau afin de passer à la version antérieure, c’est-à-dire Enterprise Edition.
  • Vous devez utiliser la même architecture processeur. Si dans l’immédiat, vous utilisez l’édition 32 bits de SQL Server, vous devez continuer ainsi.
  • Il n’existe aucun chemin d’accès pour les serveurs utilisant des versions Evaluation Edition ou Personal Edition de SQL Server.

Le Conseiller de mise à niveau est certes un très bon outil permettant de mettre en avant les éventuels problèmes relatifs à la mise à niveau, mais il n’est pas infaillible. Étant donné qu’il existe plusieurs conditions que le Conseiller de mise à niveau ne peut tester, il est préférable que vous effectuiez une mise à niveau d’essai, dans la mesure du possible.

Effectuez une sauvegarde système complète de votre SQL Server, de quelques contrôleurs de domaine et de tout autre serveur d’infrastructure que vous jugez nécessaire. Restaurez ces sauvegardes vers un serveur virtuel qui n’est pas connecté à votre réseau de production pour créer un clone du déploiement SQL de votre production. Une fois le clone lancé, essayez de le mettre à niveau vers SQL Server 2008 R2, puis effectuez tous les tests requis après une mise à niveau.

Certains environnements sont excessivement complexes pour ce type de test. Dans ces situations, établissez un déploiement test imitant le plus fidèlement possible le déploiement SQL Server de votre production. N’oubliez pas que vous pouvez toujours détecter des problèmes durant ou après une mise à niveau. Il est largement préférable de détecter les problèmes au sein d’un environnement test plutôt que dans vos serveurs de production.

Moment de migrer

Les migrations sont utiles dans plus d’une situation, lorsqu’il est impossible de recourir à une mise à niveau sur place. Vous pouvez également utiliser la migration en tant que méthode visant à modifier les topologies d’un serveur (le passage d’un déploiement 32 bits vers un déploiement 64 bits, par exemple), ou à déplacer votre SQL Server vers un nouveau matériel serveur.

Avant toute tentative de migration des bases de données vers SQL Server 2008 R2, téléchargez une copie de Microsoft Assessment and Planning (MAP) Toolkit pour SQL Server 2008 R2. Le MAP ne procède pas à la migration effective, mais il peut être utile pour la planification de la migration. Certaines des actions que le MAP Toolkit peut effectuer incluent :

  • Inventaire SQL : Le MAP Toolkit peut identifier toutes les instances relatives à l’exécution de SQL Server au sein de votre organisation. Il peut également vous fournir les informations concernant la version.
  • Informations sur le matériel : Lorsque le MAP Toolkit procède à l’inventaire de votre déploiement SQL, il peut également établir un rapport concernant autant le matériel (physique et virtuel) sur lequel les serveurs SQL sont exécutés, que l’architecture processeur (32 bits ou 64 bits).
  • Planification de la migration : Le MAP Toolkit vous permet de définir les serveurs à considérer pour une migration, en fonction de vos exigences.

Mécanique de la migration

Les étapes précises que vous utiliserez pour effectuer la migration de votre SQL 2008 R2 variera en fonction de la version de SQL Server à partir de laquelle vous migrez. Néanmoins, voici une présentation de ce qu’implique une migration effective.

La procédure la plus simple implique la configuration d’un serveur avec SQL Server 2008 R2. Vous devez ensuite restaurer une sauvegarde de vos bases de données héritées vers ce serveur. Comme c’est souvent le cas dans la vie, la nuance se dissimule dans les détails.

Le premier détail est la méthode que vous utilisez pour effectuer la sauvegarde de votre SQL Server hérité. Vous devez sauvegarder votre serveur de façon à conserver toutes les transactions. Dans l’idéal, vous devez définir la propriété d’accès des bases de données sur « Utilisateur_Unique », ou définir la base de données sur « Lecture seule ».

Le problème lié à cette opération est lié à la durée que prend la procédure de sauvegarde/restauration. Une sauvegarde et une restauration complètes peuvent simplement durer trop longtemps, en fonction des horaires de la migration. Vous pouvez réduire la durée de la migration en procédant à la sauvegarde complète auparavant. Exécutez ensuite une sauvegarde incrémentielle juste avant la migration effective.

Lorsque vous devez restaurer la base de données vers votre serveur à l’aide de SQL Server 2008 R2, vous devrez préciser certaines options de restauration via SQL Server Management Studio. Vérifiez en particulier que le nom attribué à la nouvelle base de données est exactement le même que celui de la base de données que vous restaurez. Veillez également à sélectionner l’option « Laisser la base de données opérationnelle en restaurant les transactions non validées. », que vous pourrez trouver dans la section État de récupération.

Lorsque vous avez terminé votre restauration, il vous faudra effectuer deux autres actions. Premièrement, définissez la propriété d’accès de la base de données sur Multi-utilisateurs. Ainsi, les utilisateurs peuvent commencer à la réutiliser. Ensuite, paramétrez le niveau de compatibilité de la base de données sur SQL 2008 (Mode 100). Si vous omettez cette étape, vos bases de données peuvent demeurer en mode compatibilité. En fonction de la version authentique de SQL Server, il se peut que le mode compatibilité empêche des fonctionnalités présentées dans SQL Server 2005 et SQL Server 2008 de marcher.

Comme vous pouvez le constater, migrer vers SQL Server 2008 R2 n’est pas foncièrement difficile, mais nécessite nombre d’étapes spécifiques. Vous devez auparavant planifier soigneusement votre migration, afin d’éviter tout problème de compatibilité.

Brian Posey

Brien Posey*, MVP, est un auteur technique indépendant avec des milliers d’articles et des dizaines de livres à son actif. Vous pouvez consulter le site Web de Brien à l'adresse brienposey.com.*

Contenu associé :