Freigeben über


Sichern, Wiederherstellen und Verschieben des SSIS-Katalogs

SQL Server 2014 Integration Services (SSIS) umfasst die SSISDB-Datenbank. Sie können Sichten in der SSISDB-Datenbank abfragen, um im SSISDB -Katalog gespeicherte Objekte, Einstellungen und operative Daten zu überprüfen. Dieses Thema enthält Anweisungen zum Sichern und Wiederherstellen der Datenbank.

Der SSISDB-Katalog speichert die Pakete, die Sie auf dem Integration Services-Server bereitgestellt haben. Weitere Informationen zum Katalog finden Sie unter SSIS-Katalog.

So sichern Sie die SSIS-Datenbank

  1. Öffnen Sie SQL Server Management Studio , und stellen Sie eine Verbindung zu einer Instanz von SQL Serverher.

  2. Sichern Sie den Hauptschlüssel für die SSISDB-Datenbank, indem Sie die Anweisung BACKUP MASTER KEY (Transact-SQL) verwenden. Der Schlüssel wird in einer von Ihnen angegebenen Datei gespeichert. Verwenden Sie ein Kennwort, um den Hauptschlüssel in der Datei zu verschlüsseln.

    Weitere Informationen zur Anweisung finden Sie unter BACKUP MASTER KEY (Transact-SQL).

    Im folgenden Beispiel wird der Hauptschlüssel in die Datei c:\temp directory\RCTestInstKey exportiert. Das LS2Setup! -Kennwort wird zum Verschlüsseln des Hauptschlüssels verwendet.

    backup master key to file = 'c:\temp\RCTestInstKey'  
           encryption by password = 'LS2Setup!'  
    
    
  3. Sichern Sie die SSISDB-Datenbank mit dem Dialogfeld Datenbank sichern in SQL Server Management Studio. Weitere Informationen finden Sie unter Vorgehensweise: Sichern einer Datenbank (SQL Server Management Studio).

  4. Generieren Sie das CREATE LOGIN-Skript für ##MS_SSISServerCleanupJobLogin ##, indem Sie wie folgt vorgehen. Weitere Informationen finden Sie unter CREATE LOGIN (Transact-SQL).

    1. Erweitern Sie in SQL Server Management Studioim Objekt-Explorer die Knoten Sicherheit und Anmeldungen .

    2. Klicken Sie mit der rechten Maustaste auf ##MS_SSISServerCleanupJobLogin## , und klicken Sie dann auf Skript für Anmeldenamen als>CREATE in>Neues Abfrage-Editor-Fenster.

  5. Wenn Sie die SSISDB-Datenbank in einem SQL Server instance wiederherstellen, in dem der SSISDB-Katalog nie erstellt wurde, generieren Sie das CREATE PROCEDURE-Skript für sp_ssis_startup, indem Sie wie folgt vorgehen. Weitere Informationen finden Sie unter CREATE PROCEDURE (Transact-SQL).

    1. Erweitern Sie in Objekt-Explorer den Knoten Datenbanken und dann den Knoten Systemdatenbanken>master>Programmierbarkeit>gespeicherte Prozeduren.

    2. Klicken Sie mit der rechten Maustaste auf dbo.sp_ssis_startup, und klicken Sie dann auf Skript für gespeicherte Prozeduren als>CREATE in>Neues Abfrage-Editor-Fenster.

  6. Bestätigen Sie, dass der SQL Server-Agent gestartet wurde.

  7. Wenn Sie die SSISDB-Datenbank in einem SQL Server instance wiederherstellen, in dem der SSISDB-Katalog nie erstellt wurde, generieren Sie ein Skript für den SSIS-Serverwartungsauftrag, indem Sie die folgenden Schritte ausführen. Das Skript wird bei Erstellung des SSISDB-Katalogs automatisch im SQL Server -Agent erstellt. Der Auftrag hilft beim Bereinigen von Bereinigungsvorgangsprotokollen außerhalb der Beibehaltungsdauer und entfernt ältere Projektversionen.

    1. Erweitern Sie im Objekt-Explorer den Knoten SQL Server-Agent und dann den Knoten Aufträge .

    2. Klicken Sie mit der rechten Maustaste auf SSIS-Serverwartungsauftrag, und klicken Sie dann auf Skriptauftrag als> NeuesAbfrage-Editor Fenstererstellen>.

So stellen Sie die SSIS-Datenbank wieder her

  1. Wenn Sie die SSISDB-Datenbank in einem SQL Server instance wiederherstellen, in dem der SSISDB-Katalog nie erstellt wurde, aktivieren Sie Common Language Runtime (clr), indem Sie die gespeicherte Prozedur sp_configure ausführen. Weitere Informationen finden Sie unter sp_configure (Transact-SQL) und Option „CLR-fähig“.

    use master   
           sp_configure 'clr enabled', 1  
           reconfigure  
    
    
  2. Wenn Sie die SSISDB-Datenbank auf einer SQL Server -Instanz wiederherstellen, auf der der SSISDB-Katalog nie erstellt wurde, erstellen Sie den asymmetrischen Schlüssel und den Anmeldenamen aus dem asymmetrischen Schlüssel, und gewähren Sie dem Anmeldenamen die UNSAFE-Berechtigung.

    Create Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey  
           FROM Executable File = 'C:\Program Files\Microsoft SQL Server\110\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll'  
    
    

    Integration Services -CLR-gespeicherte Prozeduren erfordern UNSAFE-Berechtigungen, die der Anmeldung gewährt werden müssen, da die Anmeldung einen zusätzlichen Zugriff auf eingeschränkte Ressourcen (z. B. die Microsoft Win32-API) benötigt. Weitere Informationen zur UNSAFE-Codeberechtigung finden Sie unter Creating an Assembly.

    Create Login MS_SQLEnableSystemAssemblyLoadingUser  
           FROM Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey   
    
           Grant unsafe Assembly to MS_SQLEnableSystemAssemblyLoadingUser  
    
    
  3. Stellen Sie die SSISDB-Datenbank über die Sicherung wieder her. Verwenden Sie dazu das Dialogfeld Datenbank wiederherstellen in SQL Server Management Studio. Weitere Informationen finden Sie in den folgenden Themen.

  4. Führen Sie die Skripts aus, die Sie in So sichern Sie die SSIS-Datenbank für ##MS_SSISServerCleanupJobLogin##, sp_ssis_startup und den SSIS-Serverwartungsauftrag erstellt haben. Bestätigen Sie, dass der SQL Server-Agent gestartet wurde.

  5. Führen Sie die folgende Anweisung aus, um die Prozedur "sp_ssis_startup" für die automatische Ausführung festzulegen. Weitere Informationen finden Sie unter sp_procoption (Transact-SQL).

    EXEC sp_procoption N'sp_ssis_startup','startup','on'  
    
  6. Ordnen Sie den SSISDB-Benutzer ##MS_SSISServerCleanupJobUser## (SSISDB-Datenbank) ##MS_SSISServerCleanupJobLogin## zu, indem Sie das Dialogfeld Anmeldungseigenschaften in SQL Server Management Studioverwenden.

  7. Verwenden Sie zum Sichern des Hauptschlüssels eine der folgenden Methoden. Weitere Informationen zur Verschlüsselung finden Sie unter Encryption Hierarchy.

    • Methode 1:

      Verwenden Sie diese Methode, wenn Sie bereits eine Sicherung des Datenbank-Hauptschlüssels ausgeführt haben und Sie über das Kennwort verfügen, das verwendet wurde, um den Hauptschlüssel zu verschlüsseln.

             Restore master key from file = 'c:\temp\RCTestInstKey'  
             Decryption by password = 'LS2Setup!' -- 'Password used to encrypt the master key during SSISDB backup'  
             Encryption by password = 'LS3Setup!' -- 'New Password'  
             Force  
      
      

      Hinweis

      Bestätigen Sie, dass das SQL Server -Dienstkonto über Berechtigungen verfügt, die Sicherungsschlüsseldatei zu lesen.

      Hinweis

      Die folgende Warnmeldung wird in SQL Server Management Studio angezeigt, wenn die Datenbank master Schlüssel noch nicht vom Dienst master Schlüssel verschlüsselt wurde. Ignorieren Sie die Warnmeldung.

      Der aktuelle Hauptschlüssel kann nicht entschlüsselt werden. Dieser Fehler wurde ignoriert, weil die Option FORCE angegeben war.

      Das FORCE-Argument gibt an, dass der Wiederherstellungsprozess fortfahren sollte, auch wenn der aktuelle Datenbank-Hauptschlüssel nicht geöffnet ist. Diese Meldung wird für den SSISDB-Katalog angezeigt, da der Datenbank-Hauptschlüssel noch nicht auf der Instanz geöffnet wurde, auf der Sie die Datenbank wiederherstellen.

    • Methode 2:

      Verwenden Sie diese Methode, wenn Sie über das ursprüngliche Kennwort verfügen, das verwendet wurde, um SSISDB zu erstellen.

      open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB'  
             Alter Master Key Add encryption by Service Master Key  
      
  8. Bestimmen Sie, ob das SSISDB-Katalogschema und die Integration Services -Binärdateien (ISServerExec-Assembly und SQLCLR-Assembly) kompatibel sind, indem Sie catalog.check_schema_versionausführen.

  9. Um zu bestätigen, dass die SSISDB-Datenbank erfolgreich wiederhergestellt wurde, führen Sie Vorgänge für den SSISDB-Katalog aus, beispielsweise das Ausführen von Paketen, die auf dem Integration Services -Server bereitgestellt wurden. Weitere Informationen finden Sie unter Ausführen eines Pakets auf dem SSIS-Server mit SQL Server Management Studio.

So verschieben Sie die SSIS-Datenbank

  • Folgen Sie den Anweisungen zum Verschieben von Benutzerdatenbanken. Weitere Informationen finden Sie unter Move User Databases.

    Stellen Sie sicher, dass Sie den Hauptschlüssel für die SSISDB-Datenbank sichern und die Sicherungsdatei schützen. Weitere Informationen finden Sie unter So sichern Sie die SSIS-Datenbank.

    Stellen Sie sicher, dass die für Integration Services (SSIS) relevanten Objekte in der neuen SQL Server -Instanz erstellt werden, auf der der SSISDB-Katalog noch nicht erstellt wurde.