pedant
Goto Top

WSUS auf Server 2016 - Datenbank bereinigen?

Hallo,

vor einiger Zeit hatte ich den WSUS neu installiert und dieses mal auf einen Server 2016.

Ich hatte zuvor einmal wöchentlich eine automatische Bereinigung laufen lassen.
So oder ähnlich: https://wsus.de/de/serverbereinigung1
(Die genaue Quelle für das Skript weiß ich nicht mehr.)

Seit der Neuinstallation habe ich das nicht gemacht.
Ich hatte die automatische Bereinigung (per PS-Skript) nicht wieder eingerichtet, da ich mir unsicher war, ob das auch für die aktuellen Versionen von WSUS/MSSQL/PS funktionieren oder mir alles kaputt machen würde.

Jetzt ist, nicht überraschenderweise, die Datenbank recht groß (vermutlich zu groß) geworden.
- Die letzten Synchronisationen schlugen fehl.
- Der Server-Cleanup-Wizard der WSUS-Management-Console schlägt nach einiger Zeit fehl.
(Beides vermutlich wegen der Datenbankgröße)

Meine Frage
Ist dieses Skript auch für mein aktuelles 2016er-System noch funktionabel oder sollte ich ein anderes verwenden und wenn welches?
https://wsus.de/de/serverbereinigung1
Mir geht es primär darum, die Datenbankgröße im Zaum zu halten und nicht so sehr darum ein paar GB Plattenplatz bei den Updates einzusparen.


Mein System

OS
Windows Server 2016 Standard 64-bit (en-US) 1607 [10.0.14393.1480]

PowerShell
PSVersion: 5.1.14393.1480
CLRVersion: 4.0.30319.42000
Quelle: PS C:\> $PSVersionTable

.Net-Framework
v2.0: 2.0.50727.4927 SP2
v3.0: 3.0.30729.4926 SP2
v3.5: 3.5.30729.4926 SP1
v4.0: Client 4.0.0.0
v4.x: Client 4.7.02053, Full 4.7.02053

WSUS
Version: 10.0.14393.0
Quelle: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup], VersionString=

SQL
Microsoft SQL Server 2016 Express Edition (64-bit)
(Versionseinschränkung: 10GB max. Datenbankgröße)
Version: 13.0.4422.0
Quelle: Microsoft SQL Server Management Studio

SUS-DB
SUSDB.mdf: 10.678.697.984 Bytes (~9,95 GB)
SUSDB_log.ldf: 612.368.384 Bytes (~0,57 GB)
Quelle: C:\MSSQL\Data\> dir s*.*

Vielen Dank im Voraus
Gruß Frank

Content-Key: 343905

Url: https://administrator.de/contentid/343905

Ausgedruckt am: 03.10.2022 um 00:10 Uhr

Mitglied: BassFishFox
Lösung BassFishFox 19.07.2017 um 21:03:14 Uhr
Goto Top
Hallo,

Wieviele Clients hast Du denn? Von der Anzahl der Clients und den dazu gehoerigen Verwaltungsinformationen ist die Groesse der DB abhaengig.

Ist dieses Skript auch für mein aktuelles 2016er-System noch funktionabel

Probiere es doch aus. face-wink

Den Trick mit dem "shrink" einer SUSDB per SQL Server Management Studio kennt Du?

BFF
Mitglied: Pedant
Pedant 20.07.2017 um 10:17:51 Uhr
Goto Top
Hallo BassFishFox,

zur Zeit sind es 38 Clients.

Zitat von @BassFishFox:
Probiere es doch aus

Ich habe mir die WSUS-Serverbereinigung.ps1 mal genauer angesehen.
Sie scheint nichts anderes zu tun, als beim Cleanup-Manager ein paar Einstellungen vorzunehmen und ihn dann zu starten.
Den Teil könnte ich durchaus ausprobieren.

Gestartet wird das PS-Skript von einer WSUS-Serverbereinigung.cmd und die nutzt auch eine WsusDBMaintenance.sql und da bin ich mir unsicher, ob dieses SQL-Skript zur aktuellen Datenbankstruktur passt.

Nichts von dem was ich zum Thema WSUS-Bereinigen im Netz bisher fand erwähnt die Existenz von WSUS 10 oder MSSQL 2016.
Ich meine, wir haben 2017, irgend jemand außer mir, wird doch auch den Kram vom letzten Jahr schon nutzen und ich hatte gehofft, dass der mir sagt:
"Nimm dieses oder jenes Sktript oder behalt dein altes und alles ist gut."

Wenn ich tatsächlich der Erste und Einzige bin, werde ich nicht umhin kommen ein Datenbank-Backup zu erstellen, das Skript auszuprobieren und zu hoffen, dass es keine kleinen, fiesen Fehler produziert, die erst auffallen, wenn man das Skript als mögliche Ursache schon nicht mehr auf dem Schirm hat.

Zitat von @BassFishFox:
Den Trick mit dem "shrink" einer SUSDB per SQL Server Management Studio kennt Du?
Per Management Studio nicht, aber vielleicht ist der Trick in der erwähnten SQL-Datei enthalten.

Ich zeig mal was ich bei der vorhergehenden Installation regelmäßig nutzte:

WSUS-Serverbereinigung.cmd

WSUS-Serverbereinigung.ps1

WsusDBMaintenance.sql

Die aufgezeigten Skripte hatte ich im Netz gefunden und weitgehend unverändert belassen.
(Pfade und Namen habe ich in der cmd natürlich angepasst.)

Gruß Frank
Mitglied: Pedant
Pedant 27.07.2017 um 11:23:09 Uhr
Goto Top
Hallo WSUS-2008/2012-Admins,

da ich anscheinend der Erste und momentan noch der Einzige bin, der WSUS auf 2016 (Server und MSSQL) betreibt, habe ich die Datenbank gesichert und das Skript, wie BassFishFox es eingangs vorschlug, einfach ausprobiert.

Aus der WSUS-Serverbereinigung.cmd habe ich noch das REM aus Zeile 19 entfernt:

Bevor ich das Skript insgesamt habe laufen lassen, habe ich zuerst nur den SQL-Teil benutzt.
Das reduzierte die Datenbankgröße von ~10 GB auf etwas über 6 GB und zeigte keine Auffälligkeiten im Log.
Danach habe ich zwei oder dreimal, den "Server Cleanup Wizard" mit allen fünf Haken über die GUI gestartet.
Das brach jeweils nach einiger Zeit ab und die Serverknoten-zurücksetzen-Aufforderung erschien.
Ich hatte allerdings das Gefühl, dass ein Teil der Arbeit erledigt wurde und so war es wohl auch.
Das vollständige Skript gestartet, lief dann ohne Fehler durch und hat nur noch 11 ObsoleteUpdates und 6 ObsoleteComputers gelöscht.
Danach habe ich noch einmal den "Server Cleanup Wizard" manuell gestartet und der lief dann flott und ohne Fehler durch und hatte auch nichts mehr zu tun.

Das Skript ist jetzt wieder in der Aufgabenplanung für sonntags eingetragen und wie es scheint ist alles gut.

Gruß Frank