Compartilhar via


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

O SQL Server 2012 Integration Services (SSIS) 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 do 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, consulte 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, consulte Como fazer 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, consulte CREATE LOGIN (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 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 do SQL Server onde 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, consulte CREATE PROCEDURE (Transact-SQL).

    1. No Pesquisador de Objetos, expanda o nó Bancos de Dados e, em seguida, expanda o nó mestre > Programação > Procedimentos Armazenados.

    2. Clique com o botão direito em dbo.sp_ssis_startup e 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 do SQL Server onde 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 em Trabalho de Manutenção do Servidor SSIS e clique em Script de Trabalho como > CREATE To > Nova Janela do Editor de Consultas.

Para restaurar o banco de dados SSIS

  1. 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, habilite o clr (Common Language Runtime) executando o procedimento armazenado sp_configure. Para obter mais informações, consulte sp_configure (Transact-SQL) e Opção clr enabled.

    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' 
           
    

    Os procedimentos armazenados CLR do Integration Services 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 Fazer backup do catálogo do SSISDB 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, consulte 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 este método se você já executou um backup da chave mestra do banco de dados e você 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çãoObservação

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

      ObservaçãoObservação

      Você verá a seguinte mensagem de aviso exibida no SQL Server Management Studio se a chave mestra de banco de dados ainda não tiver sido criptografada pela chave mestra 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, consulte 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 backup do catálogo do SSISDB.

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