Wenn Sie versuchen, WSUS auf einem Server mithilfe der internen Windows-Datenbank (Windows Internal Database, WID) zu installieren, wird dieser Fehler wahrscheinlich NICHT angezeigt. Dies liegt daran, dass die WID auch unter Windows Server 2022 eine ältere spezielle eingebettete Version von SQL Server ist. Wir können dies mit dem TSQL-Befehl sehen. SELECT @@version
- WID-Version auf Server 2012 – Microsoft SQL Server 2012 – 11.0.2100.60 (x64)
- WID-Version auf Server 2012R2 – Microsoft SQL Server 2012 – 11.0.2100.60 (x64)
- WID-Version auf Server 2016 – Microsoft SQL Server 2014 – 12.0.2000.8 (x64)
- WID-Version auf Server 2019 – Microsoft SQL Server 2014 (SP2-GDR) (KB4057120) – 12.0.5214.6 (x64)
- WID-Version auf Server 2022 – Microsoft SQL Server 2014 (SP2-GDR) (KB4057120) – 12.0.5214.6 (x64)
WSUS lässt sich bei Verwendung der WID einwandfrei installieren.
Wenn Sie jedoch versuchen, WSUS auf einem SQL Server zu installieren, wird möglicherweise die im obigen Bild zu sehende Fehlermeldung angezeigt.
So beheben Sie dieses Problem:
Öffnen einer PowerShell im erhöhten Modus mithilfe von "Als Administrator ausführen"
Führen Sie den folgenden Code aus, um 1 Codezeile in der Datei VersionCheck.sql zu ändern:
Start-Process takeown.exe -ArgumentList '/f "C:\Program Files\Update Services\Database\VersionCheck.sql"' -Wait
Start-Process icacls.exe -ArgumentList '"C:\Program Files\Update Services\Database\VersionCheck.sql" /grant "administrator:(F)"' -Wait
(Get-Content "C:\Program Files\Update Services\Database\VersionCheck.sql") -replace "(^DECLARE @scriptMinorVersion\s+ int = \(11\)$)","DECLARE @scriptMinorVersion int = (51)" | Set-Content "C:\Program Files\Update Services\Database\VersionCheck.sql"
Hier finden Sie die Zeile
DECLARE @scriptMinorVersion int = (11)
und ersetzen Sie es durch
DECLARE @scriptMinorVersion int = (51)
weitere Lösungsmöglichkeit:
- Entfernen Sie die WSUS-Rolle und das Windows Internal Database (WID)-Feature.
- Entfernen Sie E:\WSUS oder wo auch immer sich der WSUS Content-Ordner befindet.
- Entfernen Sie C:\Windows\WID (insbesondere: Löschen Sie SUSDB.mdf und SUSDB_log.ldf in C:\Windows\WID\Data). Wenn Sie die WID-Rolle und ihre Dateien bei einer Neuinstallation nicht entfernen, wird sie erneut an dieselbe Datenbank angefügt.
- Entfernen Sie in IIS die Website "WSUS-Administration" und den Anwendungspool "WsusPool", falls sie noch vorhanden sind.
- Starten Sie den Server neu, und fügen Sie die WSUS- und WID-Rollen erneut hinzu. Lassen Sie es installieren, und starten Sie den Server dann erneut neu.
- Versuchen Sie nun, die Konfiguration nach der Installation durchzuführen.
Nachdem Sie WSUS gemäß den obigen Anweisungen vollständig entfernt haben, können Sie die Rolle bei Bedarf erneut installieren.
Postinstall mit Powershell ausführen:
# Create directory for WSUS storage
$wsusContentPath = 'E:\wsus'
#New-Item -Path $wsusContentPath -ItemType Directory# Populate Sql server/instance details
$sqlInstance = 'sqlexpress' # Leave blank if default instance MSSQLSERVER
$sqlServerName = $ENV:COMPUTERNAME$sqlInstanceName = "$sqlServerName\$sqlInstance"
$sqlInstanceName = $sqlInstanceName.TrimEnd('\')# Configure WSUS to use the WID in your specified location
New-Alias -Name WsusUtil -Value 'C:\Program Files\Update Services\Tools\WsusUtil.exe'WsusUtil postinstall SQL_INSTANCE_NAME=$sqlInstanceName CONTENT_DIR=$wsusContentPath
Quelle: ajteck.ca