Dans un article précédent, j’ai listé différentes solutions pour auditer une ferme SharePoint :
Un des outils évoqués est le MOSS RAP Scoping Tool, dont une des analyses est la recherche de collection (SPSites) ou de site (SPWeb) orphelins, dont le rapport est du type :
Check 'OrphansCheck' failed.
Content Orphan List
MapFrom MapTo Database Name Site ID
Sites SiteMap MyContentDB2 d1e62e4e-2dfd-4b3e-a695-c693472f4ff5
Webs SiteMap MyContentDB2 8b57b2c2-56c0-41ff-abd2-a1751bca60f6
La méthode standard en cas de présence d’orphelins revient de effectuer :
- Suppression de la base de contenu de la ferme SharePoint
- Ajout de la base de contenu via STSADM (AddContentDB)
La seconde opération permet donc à SharePoint de relister les collections et sites de cette base pour les référencer dans la SiteMap. Ce qui en théorie permet de supprimer ces orphelins puisque toutes les collections sont alors rescannées.
Il existe pourtant un cas ou ceci ne change rien à l’analyse précédente. Il s’agit de doublon de collection. En effet, une base de données de contenu ajoutée dans une ferme provenant d’une autre ferme peut ammener des collections avec une URL déjà attribuée.
C’est le cas classique de la collection de site ROOT (qui contient un SPSite et un SPWeb) de la Web Application. Si la ContentDB à ajouter (par exemple MyContentDB2) a aussi une collection ROOT, celle-ci sera ignorée par le process de référencement et deviendra dès lors un orphelin (Le SPSite et le SPWeb). On le verra donc apparaître dans le listing de MOSS RAP.
ATTENTION : CECI EST A FAIRE AVEC UNE TRES GRANDE PRUDENCE !!!
La seule solution possible alors est donc de passer par la base de données en direct, afin d’utiliser une Procedure stockée interne (dbo.proc_DeleteSite) qui est utilisée par STSADM ou l’interface Web pour la tache de suppression d’une collection de site. On va donc reprendre le GUID du SPSite listé ci-dessus, comme la commande ci-dessous :
USE [MyContentDB2]
EXEC [dbo].[proc_DeleteSite] 'd1e62e4e-2dfd-4b3e-a695-c693472f4ff5'
Cette procédure va alors supprimer la collection de site et tout son contenu de la base de contenu. Vous pourrez alors effectuer votre Scan à nouveau sans erreur pour cette collection.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire