Invalid object name ReportServerTempDB.dbo.ExecutionCache

Quando efetuamos a migração do SQL Server Reporting Services de um servidor para outro, pode ser necessário renomear os bancos de dados do Reporting Services. Em nosso cenário, tínhamos um ReportServer$BITempDB e renomeamos para ReportServer_BDHM01TempDB durante o processo de backup e restore entre ambientes.

Todavia, alguns ajustes são necessários e você pode enfrentar o seguinte erro:

Ao tentarmos agendar um relatório, tínhamos o erro mencionado acima. É possível na internet, encontrar algumas outras situações de erro também, com mensagem semelhante de objeto inválido.

O que realizamos:

  • Analisamos todas as procedures do Report Server e Report Server TempDB por dentro do código fazer alguma referência ao banco de dados com nome antigo;
  • Analisamos todas as triggers do Report Server e Report Server TempDB por dentro do código fazer alguma referência ao banco de dados com nome antigo;

Encontramos a trigger “Shedule_UpdateExpiration” na tabela Schedule do ReportServer que apontava para o nome do banco de dados “antigo”, veja no trecho comentado:

Alterado o código, identificamos imediatamente que novos agendamentos e alterações haviam normalizado.

Referências

Espero que possa lhe ajudar!

Obrigado!

Vithor da Silva e Silva | CTO – Datasource Expert
vithor@datasource.expert