Blog

Mal schnell einen MSSQL Patch installieren - Alles easy?

Rainer
IT-Consultant

Überblick

Im Allgemeinen geht die Installation eines MSSQL Patch problemlos vonstatten. Hier kann es jedoch in seltenen Fällen zu Schwierigkeiten kommen. Über eine dieser Schwierigkeiten wird in diesem Artikel berichtet.

Die Situation

Ein Kunde betrieb ein MSSQL Instanz der Version 2019 mit einem relativ alten Patchstand auf einer virtuellen Maschine und beauftragte uns, diese auf das aktuelle Patchlevel zu bringen. Hierbei teilte er uns mit, dass es bei einem vorherigen Versuch zu Schwierigkeiten gekommen sei, so dass eine zuvor erstellte Sicherung der VM wiederhergestellt werden musste. Dies sei auch der Grund dafür, dass schon seit längerer Zeit keine Aktualisierung mehr erfolgt ist.

Der Update-Verlauf

Die Aktualisierung der MSSQL Software verlief zunächst problemlos, auch die abschließende Übersicht des Installers meldete eine gelungene Installation. Als jedoch anschließend die aktualisierte Instanz gestartet wurde, hing der MSSQL-Dienst, so dass kein Zugriff möglich war.

Was ist da geschehen?

Nun, eine Anmeldung an der Instanz war ja jetzt in der noch nicht vollständig gestarteten Instanz nicht mehr möglich, so dass zunächst nur in den Windows-Ereignissen geprüft werden konnte, ob dort etwas Verdächtiges zu sehen sei. Und dort gab es tatsächlich einen ersten Hinweis. Hier tauchte immer wieder das folgende Ereignis auf:

Ereignis in der Windows Ereignisanzeige

Was hat diese Meldung zu bedeuten und was kann man tun?

Der Upgrade-Prozess verläuft in mehreren Phasen: In einer dieser Phasen werden Binärdateien ausgetauscht. In der letzten Phase, unmittelbar nach dem ersten Neustart im Anschluss an die Installation, werden Skripte zur Anpassung und Aktualisierung der Systemobjekte der Instanz ausgeführt. Diese Aktualisierung kann nur in einem speziellen Modus durchgeführt werden, der einerseits verhindert, dass Benutzer noch auf die alten Objekte zugreifen. Dieser spezielle Modus dient aber auch dazu, die während des Normalbetriebs geschützten Systemobjekte zur Änderung freizugeben. Dieser Modus war jetzt also aktiv und es gab bereits erste Prozesse, die zu diesem Zeitpunkt versuchten, sich mit der Instanz zu verbinden.

Im Normalfall ist dieser Update-Modus relativ schnell beendet, je nach Umfang der Änderungen und Leistung des Servers im Minutenbereich. In diesem Fall hatten wir jedoch schon eine halbe Stunde gewartet, ohne dass die Instanz wieder verfügbar wurde.

Die Information, dass sich die Instanz im Upgrade Modus befand war hier jedoch sehr wertvoll. Es existiert nämlich eine Möglichkeit, diesen Modus beim Neustart zu verhindern. Dies geschieht mit dem Trace-Flag 902, das im SQL Server Configuration Manager gesetzt werden muss. Die folgende Abbildung zeigt den Configuration Manager mit der über den entsprechenden Reiter geöffneten Seite “Startparameter”. Hier wird der Text “-T902” eingetragen und über den Button “Hinzufügen” aktiviert.

Configuration Manager mit Trace-Flag 902

Anschließend konnte die Instanz wieder gestartet und geöffnet werden. Im Management Studio tauchte nun eine Datenbank auf, die sich im Single User Modus befand. Hierbei handelte es sich um die SSISDB der SQL Server Integration. In dieser ist also das Problem aufgetaucht. Mit diesem Wissen wurde die SSISDB mit folgendem Statement in den Multi-User Betrieb gebracht:

Umschalten der SSISDB in den Multi-User Betrieb

alter database SSISDB set multi_user

Anschließend stand die SSISDB wieder zur Verfügung.

Wichtig in diesem Zusammenhang

Die Ursache für das Problem muss analysiert und behoben werden. Insbesondere muss anschließend das Trace-Flag wieder entfernt werden, weil sonst die noch fehlenden Aktivitäten/Aktualisierungen im Zusammenhang mit der Patch-Installation nicht ausgeführt werden. Dies trifft insbesondere auch für nachfolgende Patch-Installationen zu und würde dann die gesamte Instanz betreffen.

Fazit

Obwohl die Installation eines Patches in der Regel erfolgreich verläuft, muss man immer mit dem Auftreten eines Fehlers rechnen. Ein Grund mehr, auf ein sauberes Backup / Restore-Konzept zu achten. Hier hat sich insbesondere die Verwendung virtueller Maschinen bewährt, wo man im Vorfeld der Patch-Installation einen Snapshot erstellen kann, von dem aus man im Fall eines unvorhergesehenen Problems schnell wieder seinen Ausgangszustand erreichen kann.

Wenn Sie mehr zu diesem Thema erfahren möchten, stehen Ihnen unsere Experten gerne zur Verfügung. Vereinbaren Sie unverbindlich ein Beratungsgespräch über unser Kontaktformular. Wir helfen Ihnen gerne weiter!

Interesse geweckt?
Vielen Dank! Wir haben Ihre Anfrage erhalten!
Oops! Beim Senden ist etwas schiefgegangen, versuche es erneut.