Leidenswege

It’s more fun to compute!

Der wöchentliche Neustart unserer Serverlandschaft hielt diesmal eine ganz besondere Überraschung parat: unser SQL Server meldet nach einiger Bedenkzeit, dass ein Dienst nicht gestartet werden könne. Kein Problem, in letzter Zeit verweigerte die SQL-Volltextindizierung ab und an den Start. Beim Blick in die Diensteverwaltung des Servers dann aber die Erkenntnis, dass sich der Dienst sqlserv.exe ebenfalls nicht gestartet hatte. Im Ereignisprotololl war dann folgende aussagekräftige Fehlermeldung zu lesen:

Nun sah ich mich im Geiste schon den SQL-Server neu aufsetzen, sämtliche Datenbanken zurücksichern und am Montag das Telefonkabel aus der Wand reißen. Den angekündigte sonnigen Sonntag würde ich mit eine Installations- und Konfigurationsorgie vor meinem Rechner verbringen. Ich überlegte, welche Datenbanken auf der Maschine liefen und wie kritisch es wohl wäre, wenn diese am Montag Morgen nicht zur Verfügung stehen würden. Der Sonntag schien gelaufen, denn wenn unser Kassensystem nicht spätestens um 08:00 Uhr einsatzbereit war, können wir alle Kunden gleich wieder nach Hause schicken. Mist!

Aber halt! Bei genauerem Lesen des Eintrags im Eventlog stand ja, dass nur die Datenbank ‘model‘ einen Schuss abbekommen hat. Ich wusste, dass die eigentlich nur als Vorlage (neben der ‘master‘-DB) beim Neuanlegen von SQL-Datenbanken verwendet wird. Als Systemdatenbank ist der SQL-Server aber der Meinung, er könne sich nicht starten wenn diese DB einen Treffer erhalten hätte. Microsoft Logik.

Eine Rücksicherung aus der Datensicherung schied aus. Die braucht nämlich den funktionsfähigen SQL-Server dienst. In irgendeiner CAB-Datei auf der Maschine, fand ich aber noch die bei der Installation des SQL-Servers verwendeten Dateien model.mdf und model.ldf. Die beiden Files extrahiert und ins data-Verzeichnis des maroden Servers kopiert. Viola! SQL-Server up, sunny sunday on its way.