Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode mover os bancos de dados do servidor de relatório usados em uma instalação do Mecanismo de Banco de Dados do SQL Server para uma instância que esteja em um computador diferente. Os bancos de dados reportserver e reportservertempdb devem ser movidos ou copiados juntos. Uma instalação do Reporting Services requer ambos os bancos de dados; o banco de dados reportservertempdb deve estar relacionado pelo nome ao banco de dados reportserver primário que você está movendo.
Aplica-se a: Modo nativo do Reporting Services.
Mover um banco de dados não afeta operações agendadas definidas atualmente para itens do servidor de relatório.
Os agendamentos serão recriados na primeira vez que você reiniciar o serviço servidor de relatório.
Os trabalhos do SQL Server Agent usados para disparar um agendamento serão recriados na nova instância do banco de dados. Você não precisa mover os trabalhos para o novo computador, mas talvez queira excluir trabalhos no computador que não serão mais usados.
Assinaturas, relatórios em cache e instantâneos são preservados no banco de dados transferido. Se um instantâneo não estiver captando dados atualizados depois que o banco de dados for movido, desmarque as opções de instantâneo no Gerenciador de Relatórios, clique em Aplicar para salvar suas alterações, recresque o agendamento e clique em Aplicar novamente para salvar suas alterações.
Dados temporários de relatório e de sessão do usuário armazenados em reportservertempdb são mantidos quando você move esse banco de dados.
O SQL Server fornece várias abordagens para mover bancos de dados, incluindo backup e restauração, anexar e desanexar e copiar. Nem todas as abordagens são apropriadas para realocar um banco de dados existente para uma nova instância de servidor. A abordagem que você deve usar para mover o banco de dados do servidor de relatório variará dependendo dos requisitos de disponibilidade do sistema. A maneira mais fácil de mover os bancos de dados do servidor de relatório é anexá-los e desanexá-los. No entanto, essa abordagem requer que você tire o servidor de relatórios offline enquanto desconecta o banco de dados. Backup e restauração é uma opção melhor se você quiser minimizar as interrupções de serviço, mas deve executar comandos Transact-SQL para executar as operações. Não é recomendável copiar o banco de dados (especificamente, usando o Assistente para Copiar Banco de Dados); ele não preserva as configurações de permissão no banco de dados.
Importante
As etapas fornecidas neste tópico são recomendadas quando realocar o banco de dados do servidor de relatórios é a única alteração que você está fazendo na instalação existente. Migrar uma instalação inteira do Reporting Services (ou seja, mover o banco de dados e alterar a identidade do serviço Windows do Servidor de Relatório que usa o banco de dados) requer reconfiguração de conexão e uma redefinição de chave de criptografia.
Desanexando e anexando os bancos de dados do servidor de relatório
Se você puder colocar o servidor de relatório offline, poderá desanexar os bancos de dados para movê-los para a instância do SQL Server que você deseja usar. Essa abordagem preserva as permissões nos bancos de dados. Se você estiver usando um banco de dados do SQL Server 2014, deverá movê-lo para outra instância do SQL Server 2014. Depois de mover os bancos de dados, você deve reconfigurar a conexão do servidor de relatório com o banco de dados do servidor de relatório. Se você estiver executando uma implantação de expansão, deverá reconfigurar a conexão de banco de dados do servidor de relatório para cada servidor de relatório na implantação.
Use as seguintes etapas para mover os bancos de dados:
Faça backup das chaves de criptografia para o banco de dados do servidor de relatório que você deseja mover. Você pode usar a ferramenta Configuração do Reporting Services para fazer backup das chaves.
Pare o serviço do servidor de relatório. Você pode usar a ferramenta Configuração do Reporting Services para interromper o serviço.
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.
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.
Copie ou mova os arquivos .mdf e .ldf para a pasta Dados da instância do SQL Server que você deseja usar. Como você está movendo dois bancos de dados, certifique-se de mover ou copiar todos os quatro arquivos.
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.
Clique com o botão direito do mouse no nó Bancos de Dados e clique em Anexar.
Clique em Adicionar para selecionar o banco de dados do servidor de relatório .mdf e arquivos .ldf que você deseja anexar. Repita esta etapa para o banco de dados temporário do servidor de relatório.
Depois que os bancos de dados forem anexados, verifique se essa
RSExecRoleé uma função de banco de dados no banco de dados do servidor de relatório e no banco de dados temporário.RSExecRoledeve ter permissões de seleção, inserção, atualização, exclusão e referência nas tabelas de banco de dados do servidor de relatório e executar permissões nos procedimentos armazenados. Para mais informações, veja Criar o RSExecRole.Inicie a ferramenta Configuração do Reporting Services e abra uma conexão com o servidor de relatório.
Na página Banco de Dados, selecione a nova instância do SQL Server e clique em Conectar.
Selecione o banco de dados do servidor de relatório que você acabou de mover e clique em Aplicar.
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.
Reinicie o serviço Servidor de Relatório.
Fazendo backup e restaurando os bancos de dados do servidor de relatório
Se você não puder colocar o servidor de relatório offline, poderá usar o backup e a restauração para realocar os bancos de dados do servidor de relatório. Você deve usar instruções Transact-SQL para fazer o backup e a restauração. Depois de restaurar os bancos de dados, você deve configurar 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 o argumento COPY_ONLY. Faça backup dos bancos de dados e dos arquivos de log.
-- To permit log backups, before the full database backup, alter the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServer
SET RECOVERY FULL
-- If the ReportServerData device does not exist yet, create it.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerData',
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BACKUP\ReportServerData.bak'
-- Create a logical backup device, ReportServerLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerLog',
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BACKUP\ReportServerLog.bak'
-- Back up the full ReportServer database.
BACKUP DATABASE ReportServer
TO ReportServerData
WITH COPY_ONLY
-- Back up the ReportServer log.
BACKUP LOG ReportServer
TO ReportServerLog
WITH COPY_ONLY
-- To permit log backups, before the full database backup, alter the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServerTempdb
SET RECOVERY FULL
-- If the ReportServerTempDBData device does not exist yet, create it.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBData',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBData.bak'
-- Create a logical backup device, ReportServerTempDBLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBLog',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBLog.bak'
-- Back up the full ReportServerTempDB database.
BACKUP DATABASE ReportServerTempDB
TO ReportServerTempDBData
WITH COPY_ONLY
-- Back up the ReportServerTempDB log.
BACKUP LOG ReportServerTempDB
TO ReportServerTempDBLog
WITH COPY_ONLY
Usando RESTORE e MOVE para realocar os bancos de dados do servidor de relatório
Ao restaurar os bancos de dados, inclua o argumento MOVE para que você possa especificar um caminho. Use o argumento NORECOVERY para executar a restauração inicial; isso mantém o banco de dados em um estado RESTOREING, dando-lhe tempo para examinar os backups de log para determinar qual deles restaurar. A etapa final repete a operação RESTORE com o argumento RECOVERY.
O argumento MOVE usa o nome lógico do arquivo de dados. Para localizar o nome lógico, execute a seguinte instrução: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';
Os exemplos a seguir incluem o argumento FILE para que você possa especificar a posição do arquivo de log a ser restaurado. Para localizar a posição do arquivo, execute a seguinte instrução: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';
Ao restaurar o banco de dados e os arquivos de log, você deve executar cada operação RESTORE separadamente.
-- Restore the report server database and move to new instance folder
RESTORE DATABASE ReportServer
FROM DISK='C:\ReportServerData.bak'
WITH NORECOVERY,
MOVE 'ReportServer' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',
MOVE 'ReportServer_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';
GO
-- Restore the report server log file to new instance folder
RESTORE LOG ReportServer
FROM DISK='C:\ReportServerData.bak'
WITH NORECOVERY, FILE=2
MOVE 'ReportServer' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',
MOVE 'ReportServer_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';
GO
-- Restore and move the report server temporary database
RESTORE DATABASE ReportServerTempdb
FROM DISK='C:\ReportServerTempDBData.bak'
WITH NORECOVERY,
MOVE 'ReportServerTempDB' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',
MOVE 'ReportServerTempDB_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';
GO
-- Restore the temporary database log file to new instance folder
RESTORE LOG ReportServerTempdb
FROM DISK='C:\ReportServerTempDBData.bak'
WITH NORECOVERY, FILE=2
MOVE 'ReportServerTempDB' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',
MOVE 'ReportServerTempDB_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';
GO
-- Perform final restore
RESTORE DATABASE ReportServer
WITH RECOVERY
GO
-- Perform final restore
RESTORE DATABASE ReportServerTempDB
WITH RECOVERY
GO
Como configurar a conexão de banco de dados do servidor de relatório
Inicie o Gerenciador de Configurações do Reporting Services e abra uma conexão com o servidor de relatório.
Na página Banco de Dados, clique em Alterar Banco de Dados. Clique em Próximo.
Clique em Escolher um banco de dados do servidor de relatório existente. Clique em Próximo.
Selecione o SQL Server que agora hospeda o banco de dados do servidor de relatório e clique em Testar Conexão. Clique em Próximo.
Em Nome do Banco de Dados, selecione o banco de dados do servidor de relatório que você deseja usar. Clique em Próximo.
Em Credenciais, especifique as credenciais que o servidor de relatório usará para se conectar ao banco de dados do servidor de relatório. Clique em Próximo.
Clique em Avançar e em Concluir.
Observação
Uma instalação do Reporting Services exige que a instância do Mecanismo de Banco de Dados do SQL Server inclua a RSExecRole função. A criação de funções, registro de login e atribuições de função ocorrem quando você define a conexão de banco de dados do servidor de relatório por meio da ferramenta de 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á operacional. Talvez seja necessário escrever código WMI para disponibilizar o servidor de relatório. Para obter mais informações, consulte Acessar o provedor WMI do Reporting Services.
Consulte Também
Criar o RSExecRole
Iniciar e parar o serviço do Servidor de Relatório
Configurar uma conexão de banco de dados do servidor de relatório (SSRS Configuration Manager)
Configurar a conta de execução sem assistência (SSRS Configuration Manager)
Gerenciador de Configurações do Reporting Services (Modo Nativo)
Utilitário rsconfig (SSRS)
Configurar e gerenciar chaves de criptografia (SSRS Configuration Manager)
Banco de dados do servidor de relatório (modo nativo do SSRS)