Fügt man den Windows Server Update Service (WSUS) auf einem Windows Server (2016 oder 2019) hinzu, dann werden weitere für die Rolle notwendigen Dienste und Funktionen hinzugefügt.
Darunter auch die Windows Internal Database (WID), als SQL-Server für die Bereitstellung der WSUS-Datenbank.
Die WID ist nur zur Verwendung von Windows eigenen Diensten, wie dem WSUS gedacht und nicht zur Bereitstellung von Datenbanken für externe Anwendungen.
Neben dieser Einschränkung hat die WID einen großen Vorteil: Im Gegensatz zur kostenlosen SQL Server Express Edition besitzt sie keine Begrenzung der maximalen Größe einer Datenbank auf 10GB (bis zum SQL Server 2008R2 war das Limit sogar nur 4GB).
Wird der WSUS über PowerShell hinzugefügt, erfolgt ebenfalls die Installation und Verwendung der WID.
Hier die Installation über PowerShell:
Install-WindowsFeature UpdateServices -IncludeManagementTools -Restart
Wird die WID mit dem WSUS verwendet, dann unterliegt dessen Datenbank, die SUSDB, nicht der 10GB Begrenzung wie das bei der Verwendung der SQL Server Express Edition der Fall ist.
Das ist ein Vorteil, da die SUSDB gerne mal die 10GB Grenze, vor allem wenn die Wartung vernachlässigt wird, übersteigt.
Der Haken an der Sache ist, dass die WID nach ihrer Installation auf dem Laufwerk C liegt und dort will ich sie nicht haben.
Umkonfigurieren der WID auf ein anderes Laufwerk
Die WID muss daher nicht auf Laufwerk C verbleiben, sondern kann auf ein anderes Laufwerk gelegt werden. Dazu sind die folgenden Tools und Schritte notwendig.
- Nachdem der WSUS und damit die WID hinzugefügt wurde, aber noch bevor eine Konfiguration des WSUS erfolgt, sollte die WID auf ein passendes Laufwerk gelegt werden. Ich nehme dazu gerne Laufwerk D, dass ich in Form einer 256GB großen Platte bereitstelle
- Damit die WID auf Laufwerk D verschoben werden kann, empfiehlt es sich das ohnehin für die Wartung der SUSDB hilfreiche SQL Server Management Studio zu installieren
- Nicht notwendig, aber für mich immer praktisch ist Notepad++ oder Visual Studio Code als Editor auf dem Server
Für ein Verschieben der WID auf Laufwerk D, sind die folgenden Schritte notwendig.
Start der Windows Internal Database über die Services oder PowerShell
# Starten der WID Start-Service -Name 'MSSQL$MICROSOFT##WID'
# Ändern des StartupTypes auf Automatic (delayed) Set-Service -Name 'MSSQL$MICROSOFT##WID' -StartupType Automatic
Nun ist es möglich, mit dem folgenden String eine Verbindung zur WID über das SQL Server Management Studio (SSMS) herzustellen.
np:\\.\pipe\MICROSOFT##WID\tsql\query
Das SSMS muss dazu mit administrativen Rechten (rechte Maustaste Run as Administrator) gestartet worden sein.
Der weitere Ablauf ergibt sich aus den folgenden Schritten.
- Stoppen der WID, durch das SSMS, PowerShell oder auch den Services Manager
- Anlegen des Data und Log Verzeichnisses auf Laufwerk D (als Administrator)
- Verschieben des Inhalts von C:\Windows\wid\data und C:\Windows\wid\log nach Laufwerk D:
# Verschieben von Data und Log auf Laufwerk D move C:\Windows\wid\data\* 'D:\Microsoft SQL Server\WID\Data\' move C:\Windows\wid\log\* 'D:\Microsoft SQL Server\WID\Log\'
- Ändern der folgenden drei Einträge in der Registry, für die Lokation der master. mdf, master.ldf und error.log Dateien
- Der neue Pfad geht auf Laufwerk D mit den Unterverzeichnissen
- Danach folgt die Berechtigung des WID Service Accounts auf die Verzeichnisse auf Laufwerk D … der Einfachheit nehme ich hier immer das WID-Verzeichnis selbst.
NT SERVICE\MSSQL$MICROSOFT##WID
- Danach kann die WID gestartet werden und die Verbindung über das SSMS klappt auch ohne Probleme.
Die Installation des WSUS erfolgt über den Post-Configuration Task oder kann über den folgenden Aufruf erfolgen.
# wsusutil.exe liegt im Verzeichnis C:\Program Files\Update Services\Tools .\wsusutil.exe postinstall SQL_INSTANCE_NAME="LOCALHOST" CONTENT_DIR=D:\WSUS
Enjoy it, b!