Freigeben über


Migrieren der WSUS-Datenbank von einer internen Windows-Datenbank zu SQL

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.

Prerequisites

  • SQL-Instanz. Dies kann der Standardmäßige 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 ->Tasks –> Klicken Sie auf "Trennen": Screenshot von SQL Server Management Studio mit der option
  2. Aktivieren Sie Vorhandene Verbindungen löschen, und klicken Sie auf OK (optional, wenn aktive Verbindungen vorhanden sind). Screenshot: Dialogfeld „Datenbank trennen“ mit aktivierter Option „Vorhandene Verbindungen löschen“ und hervorgehobener Option „OK“

Verwenden der Eingabeaufforderung

Important

Diese Schritte zeigen, wie Sie die WSUS-Datenbank (SUSDB) mithilfe des sqlcmd-Hilfsprogramms von der Internen Windows-Datenbankinstanz trennen. Weitere Informationen zum sqlcmd-Hilfsprogramm finden Sie unter sqlcmd Utility.

  1. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten.
  2. Führen Sie den folgenden SQL-Befehl aus, um die WSUS-Datenbank (SUSDB) mithilfe des sqlcmd-Hilfsprogramms 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 SQL-Instanzdatenordner.

Tip

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: SQL Server Management Studio mit ausgewählter Option „Datenbanken“ > „Anfügen“
  2. Klicken Sie im Feld "Datenbanken anfügen " unter " Anfügen" auf die Schaltfläche "Hinzufügen ", und suchen Sie die datei SUSDB.mdf (aus dem WID-Ordner kopiert), und klicken Sie dann auf "OK". Screenshot: Dialogfeld „Datenbanken anfügen“ mit hervorgehobener Option „Hinzufügen“ Screenshot: Dialogfeld „ Datenbankdateien suchen“ mit ausgewählter S U S D B M D F-Datei

Tip

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.

Important

Wenn sich die SQL-Instanz auf einem anderen Computer als WSUS befindet, sollte das Computerkonto des WSUS-Servers im Format [FQDN]\[WSUSComputerName]$aufgeführt 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 von SQL Server Management Studio mit den Anmeldeinformationen > Die Option
  2. Füllen Sie auf der Seite "Allgemein " den Anmeldenamen (NT AUTHORITY\NETWORK SERVICE) aus, und legen Sie die Standarddatenbank auf SUSDB fest. Screenshot: Seite „Allgemein“ des Dialogfelds „Anmeldung“ mit ausgefüllten Feldern für den Anmeldenamen und die Standarddatenbank
  3. Stellen Sie auf der Seite "Serverrollen " sicher, dass "Public " und "sysadmin " ausgewählt sind. Screenshot: Seite „Serverrollen“ des Dialogfelds „Anmeldung“ mit ausgewählten Optionen „public“ und „sysadmin“
  4. Auf der Seite " Benutzerzuordnung " folgendes:
    • 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:
      • public
      • WebServiceScreenshot der Seite
  5. Klicken Sie auf "OK".

NT AUTHORITY\NETWORK SERVICE sollte nun unter „Anmeldungen“ angezeigt werden. Screenshot: Objekt-Explorer mit Anzeige von „N T AUTHORITY NETWORK SERVICE“ unter „Anmeldungen“

Datenbankberechtigungen

  1. Klicken Sie mit der rechten Maustaste auf die SUSDB.
  2. Eigenschaften auswählen
  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. Stellen Sie sicher, dass die Standarddatenbank auf SUSDB festgelegt ist.

    Tip

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

    Screenshot: Dialogfeld „Anmeldung“ mit FQDN „Contosto.com**“ und W S U S-Computername „W s u s Machine“

  4. Wählen Sie auf der Seite "Benutzerzuordnung" die SUSDB-Datenbank unter "Benutzer" aus, die dieser Anmeldung zugeordnet sind.

  5. Überprüfen Sie den Webdienst unter der Datenbankrollenmitgliedschaft für: SUSDB: Screenshot der Seite

  6. Klicken Sie auf "OK ", um Die Einstellungen zu speichern.

    Note

    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

Important

Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Wenn Ihnen beim Bearbeiten der Registrierung ein Fehler unterläuft, kann dies zu schwerwiegenden Problemen führen. Bevor Sie sie ändern, sichern Sie die Registrierung zwecks Wiederherstellung für den Fall, dass Probleme auftreten.

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

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

  3. Geben Sie im Textfeld "Wert " [ServerName]\[InstanceName]\[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: Registrierungs-Editor mit hervorgehobenem Schlüssel „UpdateServices-WidDatabase“

  5. Benennen Sie den Screenshot des Registrierungs-Editors in "Key to UpdateServices-Database" um, in dem der Schlüsselname auf

    Note

    Wenn Sie diesen Schlüssel nicht aktualisieren, versucht WsusUtil , die WID anstelle der SQL-Instanz zu verwenden, 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

Note

Wenn Sie die WSUS-Konsole verwenden, schließen Sie sie, und starten Sie sie neu.

Warning

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.

Verwenden von 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.