Condividi tramite


Backup, ripristino e spostamento del catalogo SSISDB

SQL Server 2014 Integration Services (SSIS) include il database SSISDB. È possibile eseguire una query sulle viste nel database SSISDB per verificare oggetti, impostazioni e dati operativi archiviati nel catalogo SSISDB . In questo argomento vengono fornite istruzioni per l'esecuzione del backup e del ripristino del database.

Nel catalogo SSISDB sono archiviati i pacchetti distribuiti nel server Integration Services. Per ulteriori informazioni sul catalogo, vedere Catalogo SSIS.

Per eseguire il backup del database SSIS

  1. Aprire SQL Server Management Studio e connettersi a un'istanza di SQL Server.

  2. Eseguire il backup della chiave master per il database SSISDB tramite l'istruzione Transact-SQL BACKUP MASTER KEY. La chiave viene archiviata in un file specificato. Utilizzare una password per crittografare la chiave master nel file.

    Per altre informazioni sull'istruzione, vedere BACKUP MASTER KEY (Transact-SQL).

    Nell'esempio seguente la chiave master viene esportata nel file c:\temp directory\RCTestInstKey . Per crittografare la chiave master viene utilizzata la password LS2Setup! .

    backup master key to file = 'c:\temp\RCTestInstKey'  
           encryption by password = 'LS2Setup!'  
    
    
  3. Eseguire il backup del database SSISDB tramite la finestra di dialogo Backup database in SQL Server Management Studio. Per altre informazioni, vedere Procedura: Eseguire il backup del database (SQL Server Management Studio).

  4. Generare lo script CREATE LOGIN per ##MS_SSISServerCleanupJobLogin##, effettuando le operazioni riportate di seguito. Per altre informazioni, vedere CREATE LOGIN (Transact-SQL).

    1. In Esplora oggetti di SQL Server Management Studio espandere il nodo Sicurezza, quindi espandere il nodo Accessi.

    2. Fare clic con il pulsante destro del mouse su ##MS_SSISServerCleanupJobLogin## , quindi fare clic su Crea script per account di accesso>Genera codice per istruzione CREATE in>Nuova finestra editor di query.

  5. Se si ripristina il database SSISDB in un'istanza di SQL Server in cui il catalogo SSISDB non è mai stato creato, generare lo script CREATE PROCEDURE per sp_ssis_startup, eseguendo le operazioni seguenti. Per altre informazioni, vedere CREATE PROCEDURE (Transact-SQL).

    1. In Esplora oggetti espandere il nodo Database e quindi espandere il nodo Storedproceduremaster>> Database >di sistema.

    2. Fare clic con il pulsante destro del mouse su dbo.sp_ssis_startup, quindi fare clic su Crea script per stored procedure>Genera codice per istruzione CREATE in>Nuova finestra editor di query.

  6. Verificare che SQL Server Agent sia stato avviato.

  7. Se si ripristina il database SSISDB in un'istanza di SQL Server in cui il catalogo SSISDB non è mai stato creato, generare uno script per il processo di manutenzione server SSIS eseguendo le operazioni seguenti. Lo script viene creato automaticamente in SQL Server Agent quando viene creato il catalogo SSISDB. Il processo consente di pulire i log operazioni di pulizia al di fuori del periodo di memorizzazione e di rimuovere le versioni precedenti dei progetti.

    1. In Esplora oggetti espandere il nodo SQL Server Agent , quindi espandere il nodo Processi .

    2. Fare clic con il pulsante destro del mouse su Processo di manutenzione server SSIS e quindi fare clic su Processo di script come>CREATE to>New Editor di query Window (Processo di manutenzione server SSIS).

Per ripristinare il database SSIS

  1. Se si ripristina il database SSISDB in un'istanza di SQL Server in cui il catalogo SSISDB non è mai stato creato, abilitare Common Language Runtime (clr) eseguendo la stored procedure sp_configure. Per altre informazioni, vedere sp_configure (Transact-SQL) e Opzione clr enabled.

    use master   
           sp_configure 'clr enabled', 1  
           reconfigure  
    
    
  2. Se si ripristina il database SSISDB a un'istanza di SQL Server in cui il catalogo SSISDB non è mai stato creato, creare la chiave asimmetrica e l'accesso da quest'ultima e concedere l'autorizzazione UNSAFE all'accesso.

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

    Per le stored procedure CLR di Integration Services è necessario concedere le autorizzazioni UNSAFE all'account di accesso, poiché per questo account è richiesto un accesso aggiuntivo alle risorse limitate, ad esempio l'API Win32 di Microsoft. Per altre informazioni sull'autorizzazione codice UNSAFE, vedere Creazione di un assembly.

    Create Login MS_SQLEnableSystemAssemblyLoadingUser  
           FROM Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey   
    
           Grant unsafe Assembly to MS_SQLEnableSystemAssemblyLoadingUser  
    
    
  3. Ripristinare il database SSISDB dal backup tramite la finestra di dialogo Ripristina database in SQL Server Management Studio. Per ulteriori informazioni, vedere gli argomenti seguenti.

  4. Eseguire gli script creati nella procedura Per eseguire il backup del database SSIS per ##MS_SSISServerCleanupJobLogin##, sp_ssis_startup e per il processo di manutenzione del server SSIS. Verificare che SQL Server Agent sia stato avviato.

  5. Eseguire l'istruzione riportata di seguito per impostare l'esecuzione automatica della stored procedure sp_ssis_startup. Per altre informazioni, vedere sp_procoption (Transact-SQL).

    EXEC sp_procoption N'sp_ssis_startup','startup','on'  
    
  6. Eseguire il mapping dell'utente di SSISDB da ##MS_SSISServerCleanupJobUser## (database SSISDB) a ##MS_SSISServerCleanupJobLogin## tramite la finestra di dialogo Proprietà account di accesso in SQL Server Management Studio.

  7. Ripristinare la chiave master utilizzando uno dei metodi riportati di seguito. Per ulteriori informazioni sulla crittografia e sulle chiavi master, vedere Gerarchia di crittografia.

    • Metodo 1

      Usare questo metodo se si è già eseguito un backup della chiave master del database e si dispone della password usata per crittografare la chiave master.

             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  
      
      

      Nota

      Verificare che l'account del servizio SQL Server disponga delle autorizzazioni per leggere il file della chiave di backup.

      Nota

      Verrà visualizzato il seguente messaggio di avviso visualizzato in SQL Server Management Studio se la chiave master del database non è ancora stata crittografata dalla chiave master del servizio. Ignorare il messaggio.

      Impossibile decrittografare la chiave master corrente. L'errore è stato ignorato perché è stata specificata l'opzione FORCE.

      L'argomento FORCE consente di specificare che è consigliabile che il processo di ripristino continui anche se la chiave master del database corrente non è aperta. Per il catalogo SSISDB, dal momento che la chiave master del database non è stata aperta nell'istanza in cui si esegue il ripristino del database, si visualizzerà questo messaggio.

    • Metodo 2

      Utilizzare questo metodo se si dispone della password originale utilizzata per creare SSISDB.

      open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB'  
             Alter Master Key Add encryption by Service Master Key  
      
  8. Determinare se lo schema del catalogo SSISDB e i file binari di Integration Services (assembly ISServerExec e SQLCLR) sono compatibili eseguendo catalog.check_schema_version.

  9. Per verificare il corretto ripristino del database SSISDB, effettuare delle operazioni nel catalogo SSISDB, ad esempio l'esecuzione dei pacchetti distribuiti nel server Integration Services. Per altre informazioni, vedere Eseguire un pacchetto sul server SSIS mediante SQL Server Management Studio.

Per spostare il database SSIS

  • Seguire le istruzioni per lo spostamento di database utente. Per altre informazioni, vedere Spostare database utente.

    Assicurarsi che venga eseguito il backup della chiave master per il database SSISDB e proteggere il file di backup. Per altre informazioni, vedere Per eseguire il backup del database SSIS.

    Assicurarsi che gli oggetti pertinenti a Integration Services (SSIS) vengano creati nella nuova istanza di SQL Server in cui non è ancora stato creato il catalogo SSISDB.