Migrer SharePoint sous SQL Server 2005 - Part 1 : Migrer une installation SharePoint sous SQL 2005

Paru le 03 juillet 2006

Nous avons vu dans un message posté, comment monter une nouvelle architecture SharePoint (WSS ou SPS) sous SQL Server 2005, mais le cas est différent pour les serveurs déjà en production. En effet, de nombreux utilisateurs peuvent vouloir bénéficier du gain de performances associé au passage vers cette nouvelle plateforme.

Introduction

La question de la "Migrationabilité" se pose actuellement pour les installations SharePoint 2003 en production. Nous savons que dans la version 2 se WSS et 2003 de SPS, l'intégralité de la gestion des données est assurée par SQL Server. Ainsi, le passage de l'ancienne version (2000) vers la nouvelle (2005) pourrait simplement se rapprocher d'une simple migration de base de données.

C'est donc ce que nous allons donc voir dans cet article :

  • Comment effectuer cette migration et quelles sont les principales étapes à ne pas manquer.

Présentation

La technologie SharePoint comporte deux produits principaux :

  • Windows SharePoint Services (WSS - Version 2), fourni gratuitement avec Windows 2003 Server

  • SharePoint Portal Server (SPS - Version 2003), produit plus complexe et payant

Pour ceux qui veulent installer ces produits, je vous invite à consulter les articles suivants :

Le problème vient pour les architectures déjà installées et qui sont actuellement en production. Ainsi, nous avons déjà vu Le conseiller de mise à niveau SQL Server 2005, qui nous permet d'auditer les bases d'une infrastructure SQL Server 2000, dans le cadre de sa migration sous 2005.

Nous allons donc voir les spécificités des bases SharePoint (WSS et SPS).

Résultats du conseiller

Lorsqu'on exécute Le conseiller de mise à niveau SQL Server 2005 sur une infrastructure SQL Server 2000 dédiée à SharePoint 2003 (SPS ou WSS), nous obtenons classiquement les résultats sur l'analyse du moteur relationnel (SQL Server) et du moteur "ETL" 2000 (Data Transformation Services).

Du fait de la réécriture complète de DTS lors du développement de SQL Server 2005 et que SharePoint n'utilise pas DTS en interne, nous regarderons les analyses des bases SQL Server 2000 pour SharePoint.

Nous avons en retour les points d'alerte suivants :

  • 1. La mise à niveau entraînera l'utilisation par défaut de séparateurs de mots et de filtres de niveau d'instance, et non globaux, pour la recherche en texte intégral. (En US : Upgrading will cause Full-Text Search to use instance-level, not global, word breakers and filters by default). Les objets impactés sont les composants des fichiers (.asx, .css, .hta, .htt, .idq, .mdi, .pps, .tif, .tiff, .xsl).

  • 2. Le chemin retourné pour les catalogues de recherche en texte intégral a changé. (En US : Path returned for Full-Text Search catalogs has changed). Les objets impactés sont les procédures "proc_DisableFullTextSearch" et "proc_EnableFullTextSearch" des bases de contenus des sites SharePoint (STS_xxxx_yyyy pour WSS et xxx_SITE pour SPS).

  • 3. Les constantes importantes sont tapées en tant que types à valeur élevée en mode de compatibilité 90. (En US : Large constants are typed as large-value types in 90 compatibility mode). L'objet impacté est pour chaque base de contenu (STS_xxxx_yyyy pour WSS et xxx_SITE pour SPS), la procédure stockée "proc_CreateSearchProcs".

  • 4. Les plans de maintenance de la base de données sont obsolètes. (En US : Database maintenance plans superseded). Cette remarque concerne tous les plans de maintenance qui seront à recréer suivant les normes de SQL Server 2005.

  • 5. Les tables d'historique de sauvegarde et de restauration volumineuses semblent provoquer l'arrêt des mises à niveau (En US : Large backup or restore history tables make upgrade appear to hang).

  • 6. Augmenter la taille de base de données afin d'accepter le mappage DOCID. (En US : Increase database size to accommodate DOCID map). Cette alerte concerne toutes les tables "Lists", "UserData", "UserInfo", "Docs" des bases de contenu de SPS (xxxx_SITE).

  • 7. Autres problèmes de mise à niveau du moteur de base de données. (En US :Other Database Engine upgrade issues). Il s'agit d'un ensemble de cas qui peuvent correspondre au serveur analysé, mais qui pourrait aussi être de fausses alertes. Il faut donc vérifier la liste des cas fournie dans l'aide.

Maintenant que nous avons vu les alertes remontées, nous avons aussi un message qui tient plus de l'avertissement ou de la mise en avant :

  • Spécifier votre nom d'utilisateur et votre mot de passe de compte de service SQL Server. (En US : Specify your SQL Server service account user name and password). SQL Server 2000 nécessite que le service MSSearch s'exécute en tant que système local. Dans SQL Server 2005, MSFTESQL (précédemment appelé MSSearch) doit s'exécuter dans le même compte que MSSQLSERVER. Si le compte de service SQL Server nécessite un mot de passe, vous devrez fournir les informations lors de la mise à niveau.

  • Séparateurs de mots et filtres de recherche de texte intégral considérablement améliorés dans SQL Server 2005 (En US : Full-Text Search word breakers and filters significantly improved in SQL Server 2005). Les séparateurs de mots et les filtres utilisés par la fonction de recherche de texte intégral SQL Server ont été remodelés pour augmenter la fonctionnalité et la fiabilité. Dans certains cas spécifiques, les modifications apportées aux séparateurs de mots peuvent avoir un impact sur la façon dont certaines données sont marquées. Certains jetons créés dans SQL Server 2005 peuvent être différents de ceux créés dans SQL Server 2000. Par exemple, dans SQL Server 2005, le marquage des mots composés pour l'allemand a été amélioré, et à présent, les composés de plus de deux mots peuvent être marqués. Cela peut influer sur les résultats de la requête.

Les modifications à apporter

Voyons ce qui doit être fait pour chacun de ces points.

En rapport avec les messages cités précédemment, voila les différentes taches à effectuer ou les conseils apportés sur chaque alerte.

Toutes les explications sont fournies avec plus ou moins de détails dans l'aide du conseiller de mise à niveau.

  • 1. Après avoir effectué la mise à niveau vers SQL Server 2005, utilisez le service sp_fulltext_service pour définir la propriété de service, load_os_resources, qui permet le chargement des composants.

Vous devez exécuter ce qui suit :

sp_fulltext_service 'load_os_resources', 1

  • 2. Modifiez vos applications pour qu'elles utilisent ce nouveau chemin d'accès.
    Pour comprendre ceci, il faut voir les appels qui sont fait de la procédure stockée : sp_fulltext_catalog.
    Entre la version 2000 et la version 2005, le répertoire (PATH) de stockage des catalogues de recherche fulltext a été modifié, Il était précédemment à la racine de l'installation, et se trouve désormais dans le sous répertoire "FTData" (C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData\).
    De ce fait, si vous avez des applications qui utilisent ces catalogues, il faut modifier les chemins d'accès vers ceux-ci.

  • 3. Cette erreur vient du changement de stratégie de Microsoft pour ce qui concerne les variables de type chaine de charactère. En effet, dans la version 2000, il était obligatoire de fixer une taille de ces chaines qui ne pouvaient dépasser 8000 char. Avec la version 2005, nous pouvons définir ces variables comme non limités en ajoutant MAX en lieu et place de la taille.
    Ainsi dans la procédure en question "proc_CreateSearchProcs", nous voyons que celle-ci effectue un EXEC d'une constante qui ne change pas (création ou modification d'une procédure stockée spécifique "proc_FetchListItemSearchResults").
    De ce fait, il n'est pas utile de tenir compte de cette alerte.

  • 4. Les plans de maintenance ne fonctionnent plus de la même façon entre SQL Server 2000 et SQL Server 2005.
    De ce fait, il faut créer de nouveaux plans de maintenance sur la nouvelle instance SQL Server 2005 respectant les anciennes planifications afin de ne pas perturber le travail de sauvegarde.

  • 5. Les tables d'historique de Backup/restore ont été modifiées entre la version 2000 et 2005 de SQL Server. De ce fait, il est conseillé de faire un nettoyage de ces tables avant de migrer les bases de données.
    Ceci se fait via la commande :
    sp_delete_backuphistory

  • 6. Si une base de données contient un index de texte intégral, assurez-vous que le groupe de fichiers qui lui est associé comporte suffisamment d'espace pour satisfaire au besoin d'espace supplémentaire pour les index de texte intégral. Utilisez la formule suivante pour estimer l'espace nécessaire :
    (2*FTK + 34 octets) * RC
    Où :
    FTK = taille de clé de texte intégral
    RC = nombre de lignes de la table

    Si davantage d'espace est nécessaire au cours de la mise à niveau, le remplissage d'index de texte intégral de la table s'interrompt. Vérifiez le journal d'analyse afin d'identifier l'erreur et d'augmenter en conséquence l'espace pour le groupe de fichiers.

  • 7. Pour les autres problèmes, il est conseillé de prendre le fichier d'aide du conseiller de mise à niveau et de contrôler que votre instance ne se trouve dans un des cas listés.
    Maintenant que nous avons audité notre installation SQL Server 2000 et modifié les points remontés, il nous reste à voir comment effectuer cette migration.

Conclusion

Nous avons donc pu voir les différents points spécifiques aux environnements SQL 2000 pour SharePoint (WSS ou SPS). Nous devons maintenant effectuer cette migration sous le nouveau moteur relationnel : SQL Server 2005.

Nous verrons cette partie dans le prochain article avec les différentes méthodes possibles.

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

En vous souhaitant de bons projets de développement.

Romelard Fabrice (alias F___)
Consultant Technique ilem SA