MissingSetupFile
MissingSetupFile – File is referenced [1] times in the database, but is not installed on the current farm
MissingSetupFile – File [Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp] is referenced [1] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this file.
MissingSetupFile – Auf die Datei wird in der Datenbank [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert
MissingSetupFile – Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten.
Serverseitige Abhängigkeiten fehlen
Title
Serverseitige Abhängigkeiten fehlen.
[MissingSetupFile] Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten.
Details
Beschreibung
Im Health Analyzer wird die Meldung „Serverseitige Abhängigkeiten fehlen“ bzw. „Missing Server Side Dependencies“ angezeigt (Details s. unten).
Der Test der Inhaltsdatenbank per PowerShell zeigt zwar verwaiste Einträge, die Ausgabe reicht aber nicht aus, um diese zu finden und zu bereinigen.
Add-PSSnapin Microsoft.SharePoint.PowerShell #Puffer (sonst werden z.B. Spalten rechts abgeschnitten etc.) $buffer = $host.ui.RawUI.BufferSize; $buffer.width = 3000; $buffer.height = 3000; $host.UI.RawUI.Set_BufferSize($buffer) # Ausgabe als Liste (bei wenigen Einträgen) #Get-SPContentDatabase | Test-SPContentDatabase -ShowLocation | fl * # Ausgabe als Tabelle (bei vielen Einträgen) Get-SPContentDatabase | Test-SPContentDatabase -ShowLocation | ft -Auto * <# Ausgabe: Category Error UpgradeBlocking Message Remedy Locations -------- ----- --------------- ------- ------ --------- MissingSetupFile True False Auf die Datei '[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]' wird in der Datenbank ['WSS_Content'] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank ['WSS_Content'] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten. #>
SharePoint Umgebung
- SharePoint 2013 SP1 (On-Premises, 3 Tier Cluster)
- MS SQL-Server 2008 R2 Failover-Cluster
Integritätsanalyse / Health Analyzer
Folgende Meldung wird im Health Analyzer bzw. Integritätsanalyse aufgelistet. (Zu finden unter „Überwachung/Probleme und Lösungen überprüfen“ auf der Seite „Probleme und Lösungen überprüfen„).
Titel | Serverseitige Abhängigkeiten fehlen. |
---|---|
Schweregrad | 1 – Fehler |
Kategorie | Konfiguration |
Erläuterung | [MissingSetupFile] Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‚] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‚] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten. |
Lösung | Weitere Informationen zu dieser Regel finden Sie unter „http://go.microsoft.com/fwlink/?LinkID=142689“. |
Dienste, die Fehler aufweisen | SPTimerService (SPTimerV4) |
Fix
Die PowerShell-Ausgabe liefert Grundinformationen aber keine Details, um die verwaisten Einträge in der Datenbank bereinigen zu können.
Aus diesem Grund müssen wir die Basisinformationen aus der PowerShell verwenden und diese direkt auf der DB-Ebene im SQL-Server-Management-Studio (SSMS) abfragen und dann per PowerShell löschen.
Problem per PowerShell bzw. Health Analyzer identifizieren
PowerShell
Add-PSSnapin Microsoft.SharePoint.PowerShell #Puffer (sonst werden z.B. Spalten rechts abgeschnitten etc.) $buffer = $host.ui.RawUI.BufferSize; $buffer.width = 3000; $buffer.height = 3000; $host.UI.RawUI.Set_BufferSize($buffer) # Ausgabe als Liste (bei wenigen Einträgen) #Get-SPContentDatabase | Test-SPContentDatabase -ShowLocation | fl * # Ausgabe als Tabelle (bei vielen Einträgen) Get-SPContentDatabase | Test-SPContentDatabase -ShowLocation | ft -Auto *
Ausgabe:
Category Error UpgradeBlocking Message Remedy Locations |
Integritätsanalyse bzw. Health Analyzer
CA > Monitoring > Review problems and solutions
In der Kategorie „Konfiguration“ wird der Eintrag „Serverseitige Abhängigkeiten fehlen“ bzw. „Missing Server Side Dependencies“ angezeigt.
Nach dem Anklicken werden mehr Details aufgelistet und etwas ähnliches wie dies angezeigt.
Title
Serverseitige Abhängigkeiten fehlen.[MissingSetupFile] Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‚] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‚] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten.
Details in SSMS herausfinden
Achtung: Der direkte Zugriff auf die SharePoint DB-Tabellen wird von Microsoft nicht unterstützt und kann die Datenbank in einen von Microsoft nicht unterstützten Status versetzen! |
Um das Risiko zu vermeiden, kann man die DB-Abfragen z.B. gegen eine Kopie der Datenbank laufen lassen.
SSMS öffnen. Eine neue Abfrage (Strg+N) öffnen.
Folgenden SQL-Code benutzen.
USE <DB_Name>
SELECT id, SiteID, DirName, LeafName, WebId, ListId
FROM AllDocs (NOLOCK) where SetupPath = '<Features\Feature.dwp>'
- <DB_Name> mit der Datenbank aus der vorherigen PowerShell-Ausgabe bzw. aus dem Health Analyzer ersetzen.
- <Features\Feature.dwp> mit dem Feature-Pfad aus der vorherigen PowerShell-Ausgabe bzw. aus dem Health Analyzer ersetzen.
In unserem Fall sieht die SQL-Abfrage wie folgt aus:
USE WSS_Content
SELECT id, SiteID, DirName, LeafName, WebId, ListId
FROM AllDocs (NOLOCK) where SetupPath = 'Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp'
SSMS-Ausgabe:
id SiteID DirName LeafName WebId ListId
11B2FAD7-2524-4A14-BE8F-C8CFA3BD9673 FD962456-026D-4B81-8DBD-FD5E3048188C sites/test2/_catalogs/wp ADSelfService.dwp 85C8F87E-225C-4113-909E-DE10E0961741 6D9767B7-DB1D-4535-B776-D4BD607D7AB9
Für den nächsten Schritt (Löschen per PowerShell) brauchen wir diese drei ausgegebenen IDs:
- id
- SiteID
- WebId
MissingSetupFile – Löschen per PowerShell
Für jede in SSMS ausgegebene Zeile muss das folgende Skript ausgeführt werden. Dabei müssen die drei Variablen mit eigenen IDs (aus der SSMS-Ausgabe) ersetzt werden.
Add-PSSnapin Microsoft.SharePoint.PowerShell
|