Wir haben aktuell einen WSUS 4.0 (Windows Service Update Server) auf einem Windows Server 2012 R2 im Einsatz, der seine tägliche Arbeit eigentlich einwandfrei verrichtet. Leider zeigt er bei längeren Abfragen immer folgende Fehlermeldung an:

Fehler: Datenbankfehler
Fehler beim Ausführen eines Datenbankvorgangs. Mögliche Ursache: Die Datenbank ist sehr ausgelastet, der Datenbankdienst wurde beendet, die Verbindung mit der Datenbank wurde getrennt, oder die Nachinstallationsaufgabe wurde nicht erfolgreiche beendet. Wenden Sie sich an den Systemadministrator, wenn das Problem weiterhin besteht.

Klicken Sie auf „Serverknoten zurücksetzen„, um erneut zu versuchen, eine Verbindung mit dem Server herzustellen.

WSUS DAtenbankfehler

Die Ursache dafür war nicht so einfach zu finden. Nachdem ich dann per PowerShell Befehl versucht habe, die WSUS Serverbereinigung durchzuführen, so kam der Hinweis, dass es ein Timeout Problem ist. Der SQL-Server reagiert nicht rechtzeitig auf die Anfragen, obwohl der Wert standardmäßig auf 600 Sekunden (10 Minuten) eingestellt ist. Dieser Wert ist eigentlich sehr einfach zu verändern. Einfach das SQL Server Management Studio aufrufen, die Verbindung zu

\\.\pipe\Microsoft##WID\tsql\query

herstellen, in die Eigenschaft auf die Servereigenschaften, dort auf Verbindungen und hier kann der Wert für „Remoteverbindungen mit dem Server zulassen – Timeout für Remoteanfragen (Sekunden, 0 = kein Timeout) auf 0 setzen.

Danach sollte die obige Fehlermeldung nicht mehr erscheinen.

Allerdings kam es hier zum nächsten Problem, die Servereigenschaften konnten nicht angezeigt werden. Es kam zu folgender Fehlermeldung:

SQL Management Studio Datenbank Eigenschaften

Microsoft SQL Server Management Studio
Das angeforderte Dialogfeld kann nicht angezeigt werden.
ZUSÄTZLICHE INFORMATIONEN:
Das angeforderte Dialogfeld kann nicht angezeigt werden. (SqlMgmt)
Fehler beim Abrufen von Daten für diese Anforderung. (SqlManagerUI)
Hilfe erhalten Sie durch Klicken auf: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476
Ausnahme beim Ausführen einer Transact-SQL-Anweisung oder eines Transact-SQL-Batches. (Microsoft.SqlServer.ConnectionInfo)
Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Löschen Sie eventuelle Ergebnisse.
‚RegQueryValueEx()‘ hat den Fehler ‚2‘, ‚Das System kann die angegebene Datei nicht finden.‘ zurückgegeben. (Microsoft SQL Server, Fehler: 0)

Alle Versuche, dieses Problem zu beseitigen, sind leider fehlgeschlagen. Auch die Installation vom Microsoft SQL Server 2012 Express SP1 und SP2 brachte keine Besserung.

Die einzige Möglichkeit war nun, den Timeout-Wert per SQL-Befehl zu setzen. Und dies funktionierte dann auch mit diesem kleinen Script:

USE SUSDB;
GO
EXEC sp_configure ´remote query timeout´, 0 ;
GO
RECONFIGURE ;
GO

Danach war der Timeout-Wert auf 0 gesetzt und es kam nicht wieder zu der Fehlermeldung „Datenbankfehler