Compartilhar via


Fazer backup, restaurar e mover o catálogo do SSIS

SQL Server SSIS (Integration Services) 2014 inclui o banco de dados SSISDB. Você consulta exibições no banco de dados SSISDB para inspecionar objetos, configurações e dados operacionais que são armazenados no catálogo do SSISDB . Este tópico fornece instruções para fazer backup do banco de dados e restaurá-lo.

O catálogo do SSISDB armazena os pacotes que você implantou no servidor Integration Services. Para obter mais informações sobre o catálogo, consulte Catálogo do SSIS.

Para fazer o backup do banco de dados SSIS

  1. Abra o SQL Server Management Studio e conecte-se a uma instância do SQL Server.

  2. Faça backup da chave mestra para o banco de dados do SSISDB, usando a instrução Transact-SQL BACKUP MASTER KEY. A chave é armazenada em um arquivo que você especifica. Use a senha para criptografar a chave mestra no arquivo.

    Para obter mais informações sobre a instrução, confira BACKUP MASTER KEY (Transact-SQL).

    No exemplo a seguir, a chave mestra é exportada para o arquivo c:\temp directory\RCTestInstKey . A senha LS2Setup! é usada para criptografar a chave mestra.

    backup master key to file = 'c:\temp\RCTestInstKey'  
           encryption by password = 'LS2Setup!'  
    
    
  3. Faça backup do banco de dados do SSISDB usando a caixa de diálogo Backup de Banco de Dados no SQL Server Management Studio. Para obter mais informações, confira Como executar backup de um banco de dados (SQL Server Management Studio).

  4. Gere o script de CREATE LOGIN para ##MS_SSISServerCleanupJobLogin ##, fazendo o seguinte. Para obter mais informações, confira CRIAR LOGON (Transact-SQL).

    1. No Pesquisador de Objetos do SQL Server Management Studio, expanda o nó Segurança e expanda o nó Logons .

    2. Clique com o botão direito do mouse em ##MS_SSISServerCleanupJobLogin## e clique em Script de Logon como>CREATE To>Nova Janela do Editor de Consultas.

  5. Se você estiver restaurando o banco de dados SSISDB para uma instância SQL Server em que o catálogo do SSISDB nunca foi criado, gere o script CREATE PROCEDURE para sp_ssis_startup, fazendo o seguinte. Para obter mais informações, veja CREATE PROCEDURE (Transact-SQL).

    1. Em Pesquisador de Objetos, expanda o nó Bancos de Dados e, em seguida, expanda o nó Bancos> de Dados do Sistema master>Programabilidade>Procedimentos Armazenados.

    2. Clique com o botão direito do mouse em dbo.sp_ssis_startupe clique em Script de Procedimento Armazenado como>CREATE To>Nova Janela do Editor de Consultas.

  6. Confirme que o SQL Server Agent foi iniciado

  7. Se você estiver restaurando o banco de dados SSISDB para uma instância de SQL Server em que o catálogo do SSISDB nunca foi criado, gere um script para o Trabalho de Manutenção do Servidor SSIS fazendo o seguinte. O script é criado automaticamente no SQL Server Agent quando o catálogo do SSISDB é criado. O trabalho ajuda a limpar os logs da operação de limpeza fora da janela de retenção e remove versões anteriores de projetos.

    1. No Pesquisador de Objetos, expanda o nó SQL Server Agent e, em seguida, expanda o nó Trabalhos .

    2. Clique com o botão direito do mouse em Trabalho de Manutenção do Servidor SSIS e, em seguida, clique em Trabalho de Script como>CREATE To>New Editor de Consultas Window.

Para restaurar o banco de dados SSIS

  1. Se você estiver restaurando o banco de dados SSISDB para uma instância SQL Server em que o catálogo do SSISDB nunca foi criado, habilite o clr (Common Language Runtime) executando o sp_configure procedimento armazenado. Para obter mais informações, confira sp_configure (Transact-SQL) e Opção clr habilitada.

    use master   
           sp_configure 'clr enabled', 1  
           reconfigure  
    
    
  2. Se você estiver restaurando o banco de dados SSISDB para uma instância do SQL Server onde o catálogo do SSISDB nunca foi criado, crie a chave assimétrica e o logon da chave assimétrica e conceda permissão UNSAFE para o logon.

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

    Integration Services Os procedimentos armazenados CLR exigem que permissões de UNSAFE sejam concedidas ao logon porque o logon exige acesso adicional a recursos restritos, como a API do Microsoft Win32. Para obter mais informações sobre a permissão de código UNSAFE, consulte Criando um assembly.

    Create Login MS_SQLEnableSystemAssemblyLoadingUser  
           FROM Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey   
    
           Grant unsafe Assembly to MS_SQLEnableSystemAssemblyLoadingUser  
    
    
  3. Restaure o banco de dados SSISDB do backup usando a caixa de diálogo Restaurar Banco de Dados no SQL Server Management Studio. Para obter mais informações, consulte os tópicos a seguir.

  4. Execute os scripts que você criou no procedimento Para fazer backup do banco de dados SSIS para ##MS_SSISServerCleanupJobLogin##, sp_ssis_startup e Trabalho de Manutenção do Servidor SSIS. Confirme que o SQL Server Agent foi iniciado.

  5. Execute a instrução a seguir para definir o procedimento sp_ssis_startup para execução automática. Para obter mais informações, veja sp_procoption (Transact-SQL).

    EXEC sp_procoption N'sp_ssis_startup','startup','on'  
    
  6. Mapeie o usuário do SSISDB ##MS_SSISServerCleanupJobUser## (banco de dados do SSISDB) para ##MS_SSISServerCleanupJobLogin## usando a caixa de diálogo Propriedades de Logon no SQL Server Management Studio.

  7. Restaure a chave mestra usando um dos seguintes métodos. Para obter mais informações sobre criptografia, consulte Hierarquia de criptografia.

    • Método 1

      Use esse método se você já executou um backup da chave mestra do banco de dados e tem a senha usada para criptografar a chave mestra.

             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  
      
      

      Observação

      Confirme que a conta de serviço do SQL Server tem permissões para ler o arquivo da chave de backup.

      Observação

      Você verá a seguinte mensagem de aviso exibida em SQL Server Management Studio se a chave de master do banco de dados ainda não tiver sido criptografada pela chave de master de serviço. Ignore a mensagem de aviso.

      A chave mestra atual não pode ser descriptografada. O erro foi ignorado porque a opção FORCE foi especificada.

      O argumento FORCE especifica que o processo de restauração deve continuar mesmo se a chave mestra de banco de dados atual não estiver aberta. Para o catálogo do SSISDB, como a chave mestra de banco de dados não foi aberta na instância onde você está restaurando o banco de dados, você verá esta mensagem.

    • Método 2

      Use este método se você tiver a senha original que foi usada para criar o SSISDB.

      open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB'  
             Alter Master Key Add encryption by Service Master Key  
      
  8. Determine se o esquema de catálogo SSISDB e os binários Integration Services (ISServerExec e SQLCLR assembly) são compatíveis executando catalog.check_schema_version.

  9. Para confirmar que o banco de dados do SSISDB foi restaurado com êxito, execute operações no catálogo d SSISDB, por exemplo, executar pacotes que foram implantados no servidor do Integration Services . Para obter mais informações, consulte Executar um pacote no servidor SSIS usando o SQL Server Management Studio.

Para mover o banco de dados SSIS

  • Siga as instruções para mover bancos de dados de usuários. Para obter mais informações, veja Mover bancos de dados de usuário.

    Assegure-se de fazer backup da chave mestra do banco de dados SSISDB e proteger o arquivo de backup. Para obter mais informações, consulte Para fazer o backup do banco de dados SSIS.

    Verifique se os objetos pertinentes do Integration Services (SSIS) estão criados na nova instância do SQL Server na qual o catálogo do SSISDB ainda não foi criado.