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

  1. Klicken Sie mit der rechten Maustaste auf SUSDB, und klicken Sie dann auf Aufgaben>Trennen: Screenshot of SQL Server Management Studio showing the SUSDB > Tasks > Detach option selected.
  2. Aktivieren Sie Vorhandene Verbindungen löschen, und klicken Sie auf OK (optional, wenn aktive Verbindungen vorhanden sind). Screenshot of the Detach Database dialog box with the Drop Existing Connections option selected and the OK option highlighted.

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.

  1. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten.
  2. 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

  1. 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

  1. Klicken Sie in SQL Server Management Studio unter dem Knoten Instanz mit der rechten Maustaste auf Datenbanken und dann auf Anfügen. Screenshot of SQL Server Management Studio showing the Databases > Attach option selected.
  2. 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. Screenshot of the Attach Databases dialog box with the Add option highlighted.Screenshot of the Locate Database Files dialog box with the S U S D B M D F file highlighted.

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:

  1. Wechseln Sie zu SQL Server Management Studio.
  2. Öffnen Sie die Instanz.
  3. Klicken Sie auf Sicherheit.
  4. 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
  1. Klicken Sie mit der rechten Maustaste auf Anmeldungen, und klicken Sie dann auf Neue Anmeldung...Screenshot of SQL Server Management Studio showing the Logins > New Login option selected.
  2. Geben Sie auf der Seite Allgemein den Anmeldenamen (NT AUTHORITY\NETWORK SERVICE) ein, und legen Sie als Standarddatenbank die SUSDB fest. Screenshot of the General page of the Login dialog box showing the Login name and Defualt database fields populated.
  3. Stellen Sie auf der Seite Serverrollen sicher, dass public und sysadmin ausgewählt sind. Screenshot of the Server Roles page of the Login dialog box showing the public and sysadmin options selected.
  4. 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
      • webServiceScreenshot of the User Mapping page of the Login dialog box showing the public and webService options selected.
  5. Klicken Sie auf OK.

NT AUTHORITY\NETWORK SERVICE sollte nun unter „Anmeldungen“ angezeigt werden. Screenshot of the Object Explorer showing N T AUTHORITY NETWORK SERVICE under Logins.

Datenbankberechtigungen

  1. Klicken Sie mit der rechten Maustaste auf die SUSDB.
  2. Wählen Sie Eigenschaften aus.
  3. Klicken Sie auf Berechtigungen.

Das Konto NT AUTHORITY\NETWORK SERVICE sollte aufgelistet werden.

  1. Falls nicht, fügen Sie das Konto hinzu.

  2. Geben Sie im Textfeld „Anmeldename“ den WSUS-Computer in folgendem Format ein:

    [FQDN]\[WSUSComputerName]$

  3. Überprüfen Sie, ob die Standarddatenbank auf SUSDB festgelegt ist.

    Tipp

    Im folgenden Beispiel lautet der FQDN Contosto.com und der WSUS-Computername WsusMachine:

    Screenshot of the Login dialog box showing that the FQDN is Contosto.com** and the W S U S machine name is W s u s Machine.

  4. Wählen Sie auf der Seite Benutzerzuordnung unter Dieser Anmeldung zugeordnete Benutzer die Datenbank SUSDB aus.

  5. Aktivieren Sie unter Datenbankrollenmitgliedschaft für: SUSDB die Option webService.Screenshot of the User Mapping page of the Login dialog box showing the SUSDB and webService options selected.

  6. 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.

  1. Klicken Sie auf Start und dann auf Ausführen. Geben Sie regedit& ein, und klicken Sie auf OK.

  2. Suchen Sie den folgenden Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. 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.

  4. Suchen Sie den folgenden Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabaseScreenshot of the Registry Editor dialog box with the UpdateServices-WidDatabase key highlighted.

  5. Benennen Sie den Schlüssel in UpdateServices-Database um.Screenshot of the Registry Editor dialog box showing the key name update to UpdateServices-Database.

    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.

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.