Inhaltsdatenbanken enthalten verwaiste Elemente

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

  1. Backup der Farm und der Inhalte erstellen.
  2. 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

  1. 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.
  2. Den Button „Automatisch reparieren“ drücken
  3. 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.

Quellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert