News

SBS 2011: WSUS Wartung #2 - Cleanup Abbruch


Veröffentlicht von MOS-Computer GbR am 16.03.2017

Der WSUS im SBS 2011 braucht schon eine gewisse Aufmerksamkeit. Eines der häufigsten Probleme ist, dass irgendwann die Wartung bzw. die Serverbereinigung nicht mehr komplett durchläuft und er beim Aufräumen hängen bleibt. Meist bekommt man dann früher oder später einen Fehler angezeigt, der einen auffordert, den Serverknoten zurück zu setzen. Ist dieser Punkt erst mal erreicht, ist zumindest der Punkt "Nicht verwendete Updates und Updaterevisionen" danach meist nicht mehr ausführbar, da er immer wieder zum beschriebenen Fehler führt. Die restlichen Wartungsoptionen können allerdings weiter verwendet werden.

Dies hat zur Folge, dass die Grösse der WSUS Datenbank ständig wächst und nach einigen Jahren gut und gerne 20-30GB oder mehr gross sein kann. Das dies der Perfomance des WSUS nicht unbedingt zu Gute kommt, ist absehbar.

 

Diesem Problem kann mit viel Geduld und überschaubarem Aufwand in aller Regel der Garaus gemacht werden!

 

Hier eine kleine Anleitung, mit der Sie Ihrem WSUS wieder auf die Sprünge helfen sollten.

 

 

Die Vorbereitung

Um mit den Arbeiten beginnen zu können, müssen ein paar kleine Vorbereitungen getroffen werden:

Jetzt sind die ersten Schritte schon fast abgeschlossen. Um Chancen für eine spätere, vollständige Serverbereinigung noch zu erhöhen, sollten Sie jetzt allerdings noch das Remote Timeout für Abfragen auf endlos setzen:

 

Legen wir los!

Nachdem wir dir Vorbereitungen hinter uns gebracht haben haben, rücken wir nun der Datenbank auf den Leib. Emde IT-Lösungen hat dazu ein nettes Script veröffentlicht und auch etwas weiter erläutert.

Erstellen Sie auf der Datenbank SUSDB eine neue Abfrage und fügen Sie folgendes Script ein und führen Sie es aus:

 

DECLARE @var1 INT
DECLARE @msg nvarchar(100)
CREATE TABLE #results (Col1 INT) INSERT INTO #results(Col1)
EXEC spGetObsoleteUpdatesToCleanup
DECLARE WC Cursor FOR SELECT Col1 FROM #results
OPEN WC
FETCH NEXT FROM WC INTO @var1 WHILE (@@FETCH_STATUS > -1)
BEGIN SET @msg = 'Deleting ' + CONVERT(varchar(10), @var1) RAISERROR(@msg,0,1) WITH NOWAIT
EXEC spDeleteUpdate @localUpdateID=@var1
FETCH NEXT FROM WC INTO @var1
END
CLOSE WC
DEALLOCATE WC
DROP TABLE #results

 

 

ACHTUNG:

Je nach Grösse und alter der Datenbank, sowie der Perfomance der Hardware, kann dieses Script mehrere Tage bis Wochen (!) laufen! Für eine gelöschte Zeile kann das System gut und gerne bis um 5 Minuten oder länger brauchen.

Desweiteren kann es sein, dass die Ausführung mit einer Deadlock Fehlermeldung beendet wird! Diese tritt u.U. dann auf, wenn das System nach Updates sucht.

 

In diesem Fall gehen Sie wie folgt vor:

 

Nacharbeiten

Wenn der Vorgang irgendwann komplett abgeschlossen sein sollte, sollten Sie noch folgende Wartungs Schritte unternehmen (siehe auch SBS 2011: WSUS Wartung):

 

1. Synchronisationshistorie in der WSUS Konsole löschen

USE SUSDB
GO
DELETE FROM tbEventInstance WHERE EventNamespaceID = '2' AND EVENTID IN ('381', '382', '384', '386', '387', '389')

 

2. WSUS Datenbank Re-Indexieren

Laden und führen Sie dazu das folgende Script von Microsoft aus: Re-index the WSUS 3.0 Database

 

3. Datenbank verkleinern

Verkleinern Sie nun die Datenbank (Achtung: Kann länger dauern!)

 

Nach diesen Schritten sollte Ihre WSUS Datenbank (SUSDB) ein gutes Stück kleiner und vor allem auch wieder performanter sein.
 

 

Stunde der Wahrheit

Starten Sie nun die WSUS Konsole und führen Sie die Serverbereinigung aus. Diese sollte nun wieder ohne Probleme durchlaufen!

 

Damit das so bleibt, sollten Sie die zukünftige Wartung noch automatiseren.

WSUS.DE bietet hierzu zwei Scripts an:

 

 

Das könnte Sie vielleicht auch interessieren:



Zurück

^TOP^