Movendo os bancos de dados do servidor de relatório para outro computador

É possível mover os bancos de dados do servidor de relatório usados em uma instalação atual para uma instância do SQL Server Mecanismo de Banco de Dados que está em outro computador. Os bancos de dados reportserver e reportservertempdb devem ser movidos ou copiados juntos. Uma instalação do Reporting Services exige os dois bancos de dados. O banco de dados reportservertempdb deve ser relacionado por nome ao banco de dados reportserver primário que está sendo movido.

A movimentação de um banco de dados não afeta as operações agendadas que estão definidas atualmente para itens de servidor de relatório.

  • As agendas serão recriadas na primeira vez em que o serviço do servidor de relatório for reiniciado.

  • Os trabalhos do SQL Server Agent que são usados para acionar uma agenda serão recriados na nova instância do banco de dados. Não é necessário mover os trabalhos para o novo computador, mas você pode excluir os trabalhos que não serão mais usados.

  • Assinaturas, relatórios em cache e instantâneos são preservados no banco de dados movido. Se um instantâneo não estiver captando dados atualizados depois do banco de dados ser movido, desmarque as opções de instantâneo no Gerenciador de Relatórios, clique em Aplicar para salvar suas alterações, recrie a agenda e clique em Aplicar novamente para salvar as alterações.

  • Os dados temporários de relatório e da sessão de usuário que são armazenados no reportservertempdb são persistidos quando o banco de dados é movido.

O SQL Server fornece várias abordagens para mover bancos de dados, inclusive backup e restauração, anexação e desanexação e cópia. Nem todas as abordagens são apropriadas para realocar um banco de dados existente em uma nova instância do servidor. A abordagem que deve ser usada para mover o banco de dados do servidor de relatório varia dependendo dos requisitos de disponibilidade do sistema. O modo mais fácil para mover os bancos de dados do servidor de relatório é anexá-los e desanexá-los. No entanto, esta abordagem requer que o servidor de relatório fique offline enquanto o banco de dados é desanexado. O backup e a restauração são a melhor opção se você desejar minimizar as interrupções de serviço, mas é necessário executar os comandos Transact-SQL para efetuar as operações. A cópia do banco de dados não é recomendada (principalmente se o Assistente para Copiar Banco de Dados for utilizado); as configurações de permissão não são preservadas no banco de dados.

Observação importanteImportante

As etapas descritas neste tópico são recomendadas quando a realocação do banco de dados do servidor de relatório for a única alteração feita na instalação existente. A migração de uma instalação inteira do Reporting Services (isto é, a movimentação do banco de dados e a alteração da identidade do serviço Windows Servidor de Relatório que usa o banco de dados) requer a reconfiguração da conexão e a redefinição de uma chave de criptografia. Para obter mais informações sobre como migrar uma instalação do Reporting Services, consulte Migração (Reporting Services).

Desanexando e anexando os bancos de dados do servidor de relatório

Quando o servidor de relatório fica offline, você pode desanexar os bancos de dados para movê-los para a instância do SQL Server que deseja usar. Esta abordagem preserva as permissões nos bancos de dados. Se você estiver usando um banco de dados do SQL Server 2008, mova-o para outra instância do SQL Server 2008. Depois de mover os bancos de dados, reconfigure a conexão do servidor de relatório com o banco de dados. Se você estiver executando uma implantação de expansão, deverá reconfigurar a conexão do banco de dados do servidor de relatório para cada servidor de relatório da implantação.

Realize as etapas a seguir para mover os bancos de dados:

  1. Faça backup das chaves de criptografia para o banco de dados do servidor de relatório que deseja mover. Você pode usar a ferramenta Configuração do Reporting Services para fazer backup das chaves.

  2. Pare o serviço do servidor de relatório. Você pode usar a ferramenta Configuração do Reporting Services para parar o serviço.

  3. Inicie o SQL Server Management Studio e abra uma conexão com a instância do SQL Server que hospeda os bancos de dados do servidor de relatório.

  4. Clique com o botão direito do mouse no banco de dados do servidor de relatório, aponte para Tarefas e clique em Desanexar. Repita esta etapa para o banco de dados temporário do servidor de relatório.

  5. Copie ou mova os arquivos .mdf e .ldf para a pasta Dados da instância do SQL Server que deseja usar. Como dois bancos de dados estão sendo movidos, certifique-se de mover ou copiar os quatro arquivos.

  6. No Management Studio, abra uma conexão com a nova instância do SQL Server que hospedará os bancos de dados do servidor de relatório.

  7. Clique com o botão direito do mouse no nó Bancos de dados e clique em Anexar.

  8. Clique em Adicionar para selecionar os arquivos .mdf e .ldf do banco de dados do servidor de relatórios que deseja anexar. Repita esta etapa para o banco de dados temporário do servidor de relatório.

  9. Após anexar os bancos de dados, verifique se RSExecRole é uma função de banco de dados no banco de dados do servidor de relatório e no banco de dados temporário. RSExecRole deve ter permissões para selecionar, inserir, atualizar, excluir e fazer referência nas tabelas do banco de dados do servidor de relatório e permissões de execução nos procedimentos armazenados. Para obter mais informações, consulte Como criar o RSExecRole.

  10. Inicie a ferramenta Configuração do Reporting Services e abra uma conexão com o servidor de relatório.

  11. Na página Banco de dados, selecione a nova instância do SQL Server e clique em Conectar.

  12. Selecione o banco de dados do servidor de relatório que acaba de ser movido e clique em Aplicar.

  13. Na página Chaves de Criptografia, clique em Restaurar. Especifique o arquivo que contém a cópia de backup das chaves e a senha para desbloquear o arquivo.

  14. Reinicie o serviço Servidor de Relatório.

Fazendo backup e restaurando os bancos de dados do servidor de relatório

Se não for possível colocar o servidor de relatório offline, use o recurso de backup e restauração para realocar os bancos de dados do servidor de relatório. Você deve usar a opção 'Copy_Only'. A partir do SQL Server 2008, o SQL Server Management Studio oferece suporte a backups somente cópia. Depois de restaurar os bancos de dados, configure o servidor de relatório para usar o banco de dados na nova instância do servidor. Para obter mais informações, consulte as instruções no final deste tópico.

Usando BACKUP e COPY_Only para fazer backup dos bancos de dados do servidor de relatório

Ao fazer backup dos bancos de dados, defina a opção COPY_Only e o tipo de backup como Completo.

ObservaçãoObservação

Faça backup dos bancos de dados ReportServer e ReportServerTempDB e dos arquivos de log associados.

Para obter mais informações sobre como usar o SQL Server Management Studio para fazer backup de um bancos de dados, consulte Como executar backup de um banco de dados (SQL Server Management Studio).

Usando RESTORE e MOVE para realocar os bancos de dados do servidor de relatório

Ao restaurar os bancos de dados, use o argumento RESTORE WITH NORECOVERY para executar a restauração inicial; isso mantém o banco de dados no estado de restauração, permitindo que você tenha tempo para analisar os backups de log para determinar qual deve ser restaurado. Em seguida, você repetiria a operação RESTORE, mas usaria o argumento RESTORE WITH RECOVERY.

ObservaçãoObservação

Assegure-se de restaurar os bancos de dados ReportServer e ReportServerTempDB e dos arquivos de log associados.

Para obter mais informações sobre como usar o SQL Server Management Studio para restaurar um bancos de dados, consulte Como restaurar um backup de banco de dados (SQL Server Management Studio).

Como configurar a conexão do banco de dados do servidor de relatório

  1. Inicie a ferramenta Configuração do Reporting Services e abra uma conexão com o servidor de relatório.

  2. Na página Banco de Dados, clique em Alterar Banco de Dados. Clique em Avançar.

  3. Clique em Escolher um banco de dados existente do servidor de relatórios. Clique em Avançar.

  4. Selecione o SQL Server que agora hospeda o banco de dados do servidor de relatório e clique em Testar Conexão. Clique em Avançar.

  5. Em Nome do Banco de Dados, selecione o banco de dados do servidor de relatório que deseja usar. Clique em Avançar.

  6. Em Credenciais, especifique as credenciais que o servidor de relatório usará para conectar-se ao banco de dados do servidor de relatório. Clique em Avançar.

  7. Clique em Avançar e em Concluir.

ObservaçãoObservação

Uma instalação do Reporting Services requer que a instância do Mecanismo de banco de dados do SQL Server inclua a função RSExecRole. A criação de funções, o registro de logon e as atribuições de função ocorrem quando a conexão do banco de dados do servidor de relatório é definida por meio da ferramenta Configuração do Reporting Services. Se você usar abordagens alternativas (especificamente, se usar o utilitário de prompt de comando rsconfig.exe) para configurar a conexão, o servidor de relatório não estará em um estado de funcionamento. Talvez seja necessário gravar o código WMI para disponibilizar o servidor de relatório. Para obter mais informações, consulte Provedor WMI do Reporting Services.