Le contenu de cette page nécessite une version plus récente d'Adobe Flash Player.

Obtenir le lecteur Adobe Flash

mercredi 18 novembre 2009

Comment se débarrasser des sites orphelins qui se trouvent dans les bases de contenu SharePoint ?

0- Télécharger l'outil de scoping MOSSRAP:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=535266cc-88e8-4180-a4da-838f94d6a10d


 

1- Lancer l'outil de scoping depuis une machine qui se trouve sur le même réseau que votre infrastructure MOSS 2007.

Cet outil est utilisé pour vérifier un certain nombre de pré-requis nécessaires avant le démarrage d'un audit de plate-forme MOSS 2007.

Il permet de vérifier entre autres la présence d'orphelins ou non dans votre environnement MOSS 2007.

Faire tourner l'outil jusqu'au bout, puis récupérer dans le fichier errors.log généré, la liste des ID de sites orphelins détectés par l'outil, ainsi que la base de données de contenu contenant chacun de ces sites orphelins:

Exemples de liste générés par l'outil de scoping MOSSRAP :

Sites    SiteMap    WSS_Content_EMEA    a4f80b82-69c4-424b-9154-796b324ee972

Sites    SiteMap    WSS_Content_EMEA_2    416aafab-f3c9-439d-a538-5d5fa3ec8470

Webs    SiteMap    WSS_Content_EMEA_2    9e708534-c346-4dbd-8442-7851f11e85c4

Sites    SiteMap    WSS_Content_EMEA_3    69194669-4e2a-4226-be9b-c8c3cdd2f5ff

Webs    SiteMap    WSS_Content_EMEA_3    97a7d9aa-4985-4050-9dd4-88ec2676bc72

Webs    SiteMap    WSS_Content_EMEA_3    7cf467a7-3106-4a4e-989c-0eb5bde821a4

Webs    SiteMap    WSS_Content_EMEA_3    56ba9d49-6423-4ce5-b047-1c66ac764b3f

Webs    SiteMap    WSS_Content_EMEA_3    757e5cd9-fb66-4a3d-b450-14ea3358231c

Webs    SiteMap    WSS_Content_EMEA_3    b70e81a7-0eee-45fa-b54b-2e95c722acf4

Webs    SiteMap    WSS_Content_EMEA_3    49c0959e-cabd-4419-8560-33382e4c7d46

Webs    SiteMap    WSS_Content_EMEA_3    cadbc38f-ee62-40ca-99eb-bb4e43f223e1

Webs    SiteMap    WSS_Content_EMEA_3    d4c7101e-33a1-45f2-9bb8-274b9e5a881f

Webs    SiteMap    WSS_Content_EMEA_3    77a9b2f7-440c-42d9-a758-543af5f41346

Sites    SiteMap    WSS_Content_EMEA_4    a69ec624-1037-47f7-b939-ddfd62400fd0


 

Dans cette liste, apparaissent les ID de sites et les ID de webs.

Nous allons nous intéresser uniquement aux ID de sites:

Sites    SiteMap    WSS_Content_EMEA    a4f80b82-69c4-424b-9154-796b324ee972

Sites    SiteMap    WSS_Content_EMEA_2    416aafab-f3c9-439d-a538-5d5fa3ec8470

Sites    SiteMap    WSS_Content_EMEA_3    69194669-4e2a-4226-be9b-c8c3cdd2f5ff

Sites    SiteMap    WSS_Content_EMEA_4    a69ec624-1037-47f7-b939-ddfd62400fd0


 

2- Sur le serveur SQL, exécuter la commande suivante:

Select RootWebId from
[NomDeLaBaseDeDonnees].dbo.sites with (nolock) where id='Id_Du_Site_orphelin'


 

3- Copier le RootWebId retourné dans les résultats de la requête.


 

4- Sur le serveur SQL, exécuter la commande suivante:

Select FullUrl from
[NomDeLaBaseDeDonnees].dbo.webs with (nolock) where id='RootWebId'


 

5- Vous savez à présent à quelle URL correspond ce site: "WebApplication_URL + FullUrl"

Ex: http://emea.mycompany.com/sites/monsitecollab


 

6- Accéder à cette URL dans un navigateur Web et vérifier si le site existe ou bien s'il s'agit d'un site orphelin (auquel cas vous êtes invité à sélectionner un modèle de site pour finaliser la création de ce site orphelin)

Finaliser la création du site si vous y êtes invité, sinon passer à l'étape suivante.


 

7- Si le site existe et qu'il s'agit de la bonne version du site (celle que vous souhaitez conserver), sauvegarder ce site à l'aide de la commande suivante:

stsadm -o backup -url
"URL_du_Site_a_sauvegarder"
-filename "D:\MonBackup.bak"


 

8- Supprimer ce site en passant par le menu « Actions du site » - « Paramètres du site » - « Supprimer ce site »

NB: S'il s'agit de la bonne version du site (celle que vous souhaitez conserver), assurez-vous de bien conserver la sauvegarde effectuée à l'étape précédente pour pouvoir la restaurer ultérieurement, une fois que tous les orphelins auront été supprimés.


 

9- Détacher la base de données de son application Web, à l'aide de la commande suivante:

stsadm -o deletecontentdb -url
"WebApplication_URL"
-databasename
[NomDeLaBaseDeDonnees]


 

10- Attacher à nouveau la base de données à son application Web, à l'aide de la commande suivante:

stsadm -o addcontentdb -url
"WebApplication_URL"
-databasename [NomDeLaBaseDeDonnees]

NB: Cette opération a pour effet de remettre à jour la base de configuration de manière à ce que celle-ci prenne en compte les sites présents dans la base de données de contenu en question.

S'il existe plusieurs sites pour une même URL donnée, la base de configuration prendra en considération un seul de ces 2 sites. L'autre site restera considéré comme orphelin (jusqu'à ce que l'on supprime tous les sites orphelins pour cette URL, et enfin que l'on restaure une seule et unique fois la bonne version de ce site). C'est là tout l'objectif de cette procédure.


 

11- Recommencer l'opération jusqu'à avoir supprimer tous les sites orphelins.

NB: Il arrive parfois que plusieurs sites orphelins apparaissent pour une même URL. Dans ce cas, il faut recommencer les étapes 6-7-8 et 9 jusqu'à ce que tous les sites orphelins correspondant à cette URL aient été supprimés.


 

12- Une fois l'ensemble des sites orphelins supprimés, vous pouvez restaurer les sites sauvegardés sereinement.


 

13- Relancer l'outil de scoping MOSSRAP pour valider que tous les sites orphelins ont bien été supprimés.

2 commentaires:

  1. ATTENTION: L'utilisation de requêtes SQL sur les bases SharePoint n'est pas supporté ! Il faut donc dans la mesure du possible éviter d'utiliser cette méthode directement sur un environnement de production.
    Autrement, il est fortement recommandé d'ouvrir un incident auprès du support Microsoft et se faire assister d'un ingénieur support pour réaliser cette opération sur un environnement de production, afin de conserver ainsi la supportabilité de votre plateforme.

    RépondreSupprimer
  2. Bonne nouvelle pour les heureux possesseurs de plateforme MOSS 2007 avec Service Pack 2 !

    En effet, le Service Pack 2 apporte une nouvelle commande STSADM prévue justement pour répondre à ce besoin:

    stsadm -o deletesite -force -siteid "GUID du site orphelin" -databaseserver "MonServeurSQL" -databasename "BaseDeDonneeContenantLeSiteOrphelin"

    Les requêtes SQL ne sont donc plus nécessaires !

    RépondreSupprimer