Wir haben vor einiger Zeit einen Anruf von jemanden bekommen, bei dem die automatische Windows Update-Installation die SharePoint-Datenbank zerstört hat und ein Zugriff auf diese Daten nicht mehr möglich war. Bei dem System handelt es sich um einen unter Hyper-V betriebenen Windows Small Business Server 2003. Durch genau diesen Umstand war es möglich, das wir einen Export der VM bekommen konnten, an dem ich mich in der Wiederherstellung der Daten versuchen konnte. Zusammen mit der (sonst bei mir nicht so beliebten) Snapshot-Funktion konnte ich problemlos in Fehler rennen und mir das System innerhalb kürzester Zeit wieder herstellen. Gemerkt hat der Kunde den Fehler, weil sich seine SharePoint-Seite nicht mehr anzeigen ließ. Das Eventlog zeigte massig Fehlermeldungen, ebenfalls durch das Eventlog ließ sich feststellen, dass wenige Stunden zuvor um 3 Uhr das System automatisch geupdatet und neugestartet wurde. Direkt nach dem Neustart begannen die Fehlermeldungen. Es hat mich einige Zeit gekostet den richtigen Weg der Wiederherstellung zu finden, hier eine Beschreibung der Vorgehensweise.
Im Eventlog kann man sehen, welche Updates installiert wurden
Das Update, das scheinbar die Probleme bereitet hat, war KB2493987 (SharePoint Services 3.0). In der Systemsteuerung unter Software kann man zudem erkennen, dass sich die Updates nicht deinstallieren lassen (obwohl die deutsche Übersetzung leicht komisch klingt)
Ich habe als erstes nach dem Problem gesucht, ob es eine Lösung gibt, und habe auch massig Treffer gefunden. Das Problem ist bekannt und es gibt einige andere Techniker, die ebenfalls vor dem Problem standen. Die Ursache ist, dass das Update nicht komplett installiert wird bzw. Bestandteile des Sharepoints nicht vollständig auf eine neue Version angehoben werden. Die automatische Installation über Windows Update führt hier wohl eher zu einem Fehler als die manuelle Installation. Erinnert mich irgendwie an die Rollup Packs für den Exchange.
Den Tipp bzw. die Lösung, die ich am häufigsten gefunden habe, wird auf dem folgenden TechNet-Blog aufgeführt:
Companyweb and SharePoint Central Admin not accessible after installing KB983444 or KB2345304
Die Lösung ist eigentlich für den Small Business Server 2008 geschrieben, scheint laut einigen anderen Beiträgen allerdings auch unter dem SBS2003 zu funktionieren. In meinem Fall hat die Ausführung des Befehls
psconfig –cmd upgrade –inplace b2b –wait –force
im Pfad
C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\12\BIN
keine Lösung gebracht, der Prozess brach bei Aufgabe 2 von 4 mit der Meldung
Access to table dbo.spt_values is blocked because the signature is not valid.
ab.
Auch die mehrfache Ausführung des Befehls brachte keine Änderung, immer die gleiche Fehlermeldung. Der Aufruf des GUI-Tools zur Konfiguration der SharePoint-Produkte und –Techniken erzeugte die folgende Fehlermeldung
Ein Trennen der Datenbank von der Farm (ebenfalls eine Option beim Start des GUI-Tools) erzeugte ebenfalls eine Fehlermeldung
Den entscheidenden Hinweis für meine Lösung habe ich auf der folgenden Seite gefunden
Cannot connect to the configuration database after installing SP2
In seinem Blog beschreibt Sushant Khambekar, wie man mit dem SQL Express Management Studio Zugriff auf die Datenbank erhält. Ich habe auf dem Server das SQL Express Management Studio 2005 heruntergeladen und installiert, Zugriff auf die Datenbank habe ich mit der Adresse erhalten, die auch in dem Artikel aufgeführt ist
\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
Nun konnte ich die SharePoint-Datenbanken sichern
Nachdem alle Datenbanken gesichert worden sind, habe ich die SharePoint Services 2.0, die SharePoint Services 3.0 und die Windows Internal Database auf dem Server deinstalliert. Nach der Deinstallation wurde das System neugestartet, und nach dem Neustart habe ich die Setup-Pakete der beiden SharePoint Services heruntergeladen und mit der Installation begonnen.
Wichtig: Bei der Rückfrage, ob bereits bestehende Daten oder Farmen verwendet werden sollen, unbedingt eine komplett neue, frische Installation verwenden!
Nach der Neuinstallation und einem erneuten Neustart des Systems müssen per Windows Update die aktuellen Hotfixes für die SharePoint Services installiert werden (dies hat bei mir problemlos funktioniert, wahrscheinlich weil in der neuangelegten Datenbank nur die wenigen Standard-Daten waren), damit es nicht zu Problemen mit der Datenbank kommt (unterschiedliche Versionsstände). Dies sieht dann später wie folgt aus:
Nach dem erfolgreichen Update und einem weiteren Neustart des Systems müssen die Datenbanken, die wir vorhin gesichert haben, wieder zurückgespielt werden. Dies ist problemlos möglich, da die Datenbanken eine aus zufällig erzeugten Buchstaben und Zahlen angehängte Kombination besitzen.
Nachdem die Wiederherstellung erfolgreich durchgeführt wurde, müssen wir die “neue” (leere) Datenbank abhängen und die “alte” (mit unseren Daten gefüllte Datenbank) wieder anhängen. Wie dies funktioniert habe ich auf der folgenden Seite gefunden
SharePoint 2007 – Move Content and Configuration Databases
Mit Hilfe der beiden Befehle
stsadm –o deletecontentdb –url http://Namederwebseite –databasename NamederNEUENContentDB –databaseserver NamedesSQLServers
und
stsadm –o addcontentdb –url http://NamederWebseite –databasename NamederALTENContentDB –databaseserver NamedesSQLServers
hängen wir zuerst die neue, im Zuge der Neuinstallation erstellten Datenbank ab, um dann im zweiten Schritt unsere alte, mit den Livedaten gefüllte Datenbank wieder anzuhängen.
Nachdem die Datenbank wieder angehangen wurde, war ein Zugriff auf die Daten wieder problemlos möglich.