Problem
Content databases contain orphaned items
Inhaltsdatenbanken enthalten verwaiste Elemente
Details
Die Meldung (s.u) taucht unter „Überwachung/Probleme und Lösungen überprüfen“ (Integritätsanalyse / Health Analyzer) auf der Seite „Probleme und Lösungen überprüfen“ auf.
Integritätsanalyse / Health Analyzer Eintrag
Titel | Inhaltsdatenbanken enthalten verwaiste Elemente. |
---|---|
Schweregrad | 1 – Fehler |
Kategorie | Verfügbarkeit |
Erläuterung | Unter bestimmten Umständen kann eine von Microsoft SharePoint Foundation verwendete Datenbank fehlerhaft werden. Die fehlerhafte Datenbank enthält ggf. verwaiste Elemente. Für ein Dokument ist z. B. keine übergeordnete Dokumentbibliothek vorhanden, oder eine Liste besitzt keine übergeordnete Windows Microsoft SharePoint Foundation-Website. Aus diesem Grund sind Sie möglicherweise nicht in der Lage, neue Elemente mit der gleichen URL wie die verwaisten Elemente zu erstellen, und es wird unnötig Speicherplatz in der Inhaltsdatenbank belegt. |
Lösung | Durch das Aktivieren der automatischen Reparatur für diese Regel werden die verwaisten Elemente gelöscht. Weitere Informationen zu dieser Regel finden Sie unter „http://go.microsoft.com/fwlink/?LinkID=142694“. |
Dienste, die Fehler aufweisen | SPTimerService (SPTimerV4) |
Lösung
Vorbereitung
- Backup der Farm und der Inhalte erstellen.
- Verwaiste und defekte Daten auflisten (s. Skriptblock u.)
# Defekte und verwaiste Daten in den Inhaltsdatenbanken anzeigen (und bei Repair($true) reparieren lassen) # SharePoint-Module laden try {Add-PSSnapin Microsoft.SharePoint.PowerShell} catch{} $CDBs = Get-SPContentDatabase ForEach ($CDB in $CDBs) { Write-Host "`nDetecting Orphans for $($CDB.Name)" -ForegroundColor Cyan # $false = Nur lesender Zugriff = Defekte auflisten # $true = Reparatur! Achtung, auf eigene Gefahr! Sicherung vorher erstellen! $CDB.Repair($false) }
Die Ausgabe sieht dann ungefähr so aus:
"Detecting Orphans for SP_Content <OrphanedObjects Count="2536"> <Orphan Type="SecurityScope" SiteId="{74D2182C-8F0E-4A5A-A488-8856241D7A86}" Name="site/vss/Lists/Maschinen/373_.000" InRecycleBin="Yes" /> <Orphan Type="RoleAssignments" Count="2535" /> </OrphanedObjects> Detecting Orphans for SP_Profiles <OrphanedObjects Count="0" />"
Hier gibt es offensichtlich ein Problem Typs „SecurityScope“ und 2535 Probleme des Typs „RoleAssignments„.
Den Eintrag „site/vss/Lists/Maschinen/373_.000
“ könnte man zwar durch das leeren des zweistufigen Papierkorbs löschen, aber die Objekte unter „RoleAssignments
“ nicht.
Reparatur
Per ZA GUI
- Die Meldung in der Integritätsanalyse (im Health Analyzer) öffnen, so dass die Erläuterung und die Buttons „Jetzt erneut analysieren“ und „Automatisch reparieren“ angezeigt werden.
- Den Button „Automatisch reparieren“ drücken
- Kurz warten und falls die Meldung nicht von selbst verschwindet auf „Jetzt erneut analysieren“ drücken.
Die Ausgabe des Prüf- und Reparaturskriptes (s.o.) sieht dann wie folgt aus:
"Detecting Orphans for SP_Content_Portal <OrphanedObjects Count="0" /> Detecting Orphans for SP_Content_Profiles <OrphanedObjects Count="0" />"
Per PS CMD-Let
Die Reparatur soll auch mit Hilfe des Skriptes (s.o) möglich sein, indem man in der Zeile mit $CDB.Repair($false)
das $false
durch $true
ersetzt. Das wurde allerdings von uns nicht ausprobiert, da schon die GUI-Lösung zum Erfolg führte.