Migrieren der WSUS-Datenbank von einer internen Windows-Datenbank zu SQL
Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
Führen Sie die folgenden Schritte aus, um die WSUS-Datenbank (SUSDB) von einer internen Windows-Datenbankinstanz (WID) zu einer lokalen oder Remoteinstanz von SQL Server zu migrieren.
Voraussetzungen
- SQL-Instanz. Dies kann entweder die Standardinstanz MSSQLServer oder eine benutzerdefinierte Instanz sein.
- SQL Server Management Studio
- WSUS mit installierter WID-Rolle
- IIS (normalerweise enthalten, wenn Sie WSUS über Server-Manager installieren). Andernfalls muss es installiert werden.
Migrieren der WSUS-Datenbank
Beenden der IIS- und WSUS-Dienste auf dem WSUS-Server
Führen Sie in PowerShell (mit erhöhten Rechten) folgende Befehle aus:
Stop-Service IISADMIN
Stop-Service WsusService
Trennen von SUSDB von der internen Windows-Datenbank
Verwendung von SQL Management Studio
- Klicken Sie mit der rechten Maustaste auf SUSDB, und klicken Sie dann auf Aufgaben>Trennen:
- Aktivieren Sie Vorhandene Verbindungen löschen, und klicken Sie auf OK (optional, wenn aktive Verbindungen vorhanden sind).
Verwenden der Eingabeaufforderung
Wichtig
Diese Schritte zeigen, wie Sie die WSUS-Datenbank (SUSDB) mit dem Hilfsprogramm sqlcmd von der internen Windows-Datenbankinstanz trennen. Weitere Informationen zum Hilfsprogramm sqlcmd finden Sie unter SQLCMD-Hilfsprogramm.
- Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten.
- Führen Sie den folgenden SQL-Befehl aus, um die WSUS-Datenbank (SUSDB) über das Hilfsprogramm sqlcmd von der internen Windows-Datenbankinstanz zu trennen:
sqlcmd -S \\.\pipe\Microsoft##WID\tsql\query
use master
GO
alter database SUSDB set single_user with rollback immediate
GO
sp_detach_db SUSDB
GO
Kopieren der SUSDB-Dateien in die SQL Server-Instanz
- Kopieren Sie SUSDB.mdf und SUSDB_log.ldf aus dem WID-Datenordner (%SystemDrive%\Windows\WID\Data) in den Datenordner der SQL-Instanz.
Tipp
Wenn Ihr SQL-Instanzordner zum Beispiel C:\Programme\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL und der WID-Datenordner C:\Windows\WID\Data lautet, kopieren Sie die SUSDB-Dateien von C:\Windows\WID\Data nach C:\Programme\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data
Anfügen der SUSDB an die SQL-Instanz
- Klicken Sie in SQL Server Management Studio unter dem Knoten Instanz mit der rechten Maustaste auf Datenbanken und dann auf Anfügen.
- Klicken Sie im Feld Datenbanken anfügen unter Anzufügende Datenbanken auf die Schaltfläche Hinzufügen, suchen Sie nach der Datei SUSDB.mdf (kopiert aus dem WID-Ordner), und klicken Sie dann auf OK.
Tipp
Dieser Vorgang kann auch mit Transact-Sql durchgeführt werden. Entsprechende Anweisungen finden Sie in der SQL-Dokumentation zum Anfügen einer Datenbank.
Beispiel (unter Verwendung der Pfade aus dem vorherigen Beispiel):
USE master;
GO
CREATE DATABASE SUSDB
ON
(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\SUSDB.mdf'),
(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\SUSDB_Log.ldf')
FOR ATTACH;
GO
Überprüfen von Anmeldungen und Berechtigungen für SQL Server und Datenbank
SQL Server-Anmeldeberechtigungen
Überprüfen Sie nach dem Anfügen der SUSDB, ob NT AUTHORITY\NETWORK SERVICE über Anmeldeberechtigungen für die SQL Server-Instanz verfügt. Gehen Sie dazu wie folgt vor:
- Wechseln Sie zu SQL Server Management Studio.
- Öffnen Sie die Instanz.
- Klicken Sie auf Sicherheit.
- Klicken Sie auf Anmeldungen.
Das Konto NT AUTHORITY\NETWORK SERVICE sollte aufgelistet werden. Wenn dies nicht der Fall ist, müssen Sie einen neuen Anmeldenamen für das Konto hinzufügen.
Wichtig
Wenn sich die SQL-Instanz auf einem anderen Computer als WSUS befindet, sollte das Computerkonto des WSUS-Servers im Format [FQDN]\[WSUSComputerName]$ angegeben sein. Andernfalls können Sie es über die folgenden Schritte hinzufügen, indem Sie NT AUTHORITY\NETWORK SERVICE durch das Computerkonto des WSUS-Servers ([FQDN]\[WSUSComputerName]$) ersetzen. Dies geschieht zusätzlich zur Gewährung von Rechten für NT AUTHORITY\NETWORK SERVICE.
Hinzufügen von „NT AUTHORITY\NETWORK SERVICE“ und Gewähren von Rechten
- Klicken Sie mit der rechten Maustaste auf Anmeldungen, und klicken Sie dann auf Neue Anmeldung...
- Geben Sie auf der Seite Allgemein den Anmeldenamen (NT AUTHORITY\NETWORK SERVICE) ein, und legen Sie als Standarddatenbank die SUSDB fest.
- Stellen Sie auf der Seite Serverrollen sicher, dass public und sysadmin ausgewählt sind.
- Auf der Seite Benutzerzuordnung:
- Wählen Sie unter Dieser Anmeldung zugeordnete Benutzer die Option SUSDB aus.
- Vergewissern Sie sich unter Datenbankrollenmitgliedschaft für: SUSDB, dass folgende Optionen aktiviert sind:
- öffentlich
- webService
- Klicken Sie auf OK.
NT AUTHORITY\NETWORK SERVICE sollte nun unter „Anmeldungen“ angezeigt werden.
Datenbankberechtigungen
- Klicken Sie mit der rechten Maustaste auf die SUSDB.
- Wählen Sie Eigenschaften aus.
- Klicken Sie auf Berechtigungen.
Das Konto NT AUTHORITY\NETWORK SERVICE sollte aufgelistet werden.
Falls nicht, fügen Sie das Konto hinzu.
Geben Sie im Textfeld „Anmeldename“ den WSUS-Computer in folgendem Format ein:
[FQDN]\[WSUSComputerName]$
Überprüfen Sie, ob die Standarddatenbank auf SUSDB festgelegt ist.
Tipp
Im folgenden Beispiel lautet der FQDN Contosto.com und der WSUS-Computername WsusMachine:
Wählen Sie auf der Seite Benutzerzuordnung unter Dieser Anmeldung zugeordnete Benutzer die Datenbank SUSDB aus.
Aktivieren Sie unter Datenbankrollenmitgliedschaft für: SUSDB die Option webService.
Klicken Sie auf OK, um die Einstellungen zu speichern.
Hinweis
Möglicherweise müssen Sie den SQL-Dienst neu starten, damit die Änderungen wirksam werden.
Bearbeiten der Registrierung zum Verweisen von WSUS auf die SQL Server-Instanz
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Wird die Registrierung falsch angepasst, können schwerwiegende Probleme auftreten. Bevor Sie sie ändern, sichern Sie die Registrierung zwecks Wiederherstellung für den Fall, dass Probleme auftreten.
Klicken Sie auf Start und dann auf Ausführen. Geben Sie regedit& ein, und klicken Sie auf OK.
Suchen Sie den folgenden Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName
Geben Sie im Textfeld Wert den Wert [ServerName]\[InstanceName], und klicken Sie dann auf OK. Wenn der Instanzname die Standardinstanz ist, geben Sie [ServerName] ein.
Suchen Sie den folgenden Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase
Benennen Sie den Schlüssel in UpdateServices-Database um.
Hinweis
Wenn Sie diesen Schlüssel nicht aktualisieren, versucht WsusUtil, die WID zu bedienen und nicht die SQL-Instanz, zu der Sie migriert haben.
Starten der IIS- und WSUS-Dienste auf dem WSUS-Server
Führen Sie in PowerShell (mit erhöhten Rechten) folgende Befehle aus:
Start-Service IISADMIN
Start-Service WsusService
Hinweis
Wenn Sie die WSUS-Konsole verwenden, schließen Sie sie, und starten Sie sie neu.
Deinstallieren der WID-Rolle (nicht empfohlen)
Warnung
Durch das Entfernen der WID-Rolle wird auch ein Datenbankordner (%SystemDrive%\Programme\Update Services\Database) mit Skripts entfernt, die von WSUSUtil.exe für Aufgaben nach der Installation benötigt werden. Wenn Sie sich dazu entschließen, die WID-Rolle zu deinstallieren, sollten Sie vorher eine Sicherungskopie des Ordners %SystemDrive%\Programme\Update Services\Datenbank erstellen.
Über PowerShell:
Uninstall-WindowsFeature -Name 'Windows-Internal-Database'
Überprüfen Sie nach dem Entfernen der WID-Rolle, ob der folgende Registrierungsschlüssel vorhanden ist: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database.