Atualizar uma Base de Dados de Servidor de Relatórios

A base de dados do servidor de relatórios fornece armazenamento para uma ou mais instâncias do servidor de relatórios. Como o esquema da base de dados do servidor de relatórios pode mudar a cada nova versão do Reporting Services, é obrigatório que a versão da base de dados corresponda à versão da instância do servidor de relatórios que está a utilizar. Na maioria dos casos, uma base de dados de servidor de relatórios pode ser atualizada automaticamente sem qualquer ação específica da sua parte.

Modo Nativo: No modo Reporting Services Nativo, a base de dados do servidor de relatórios compreende, na verdade, duas bases de dados que têm nomes predefinidos de ReportServer e ReportServerTempDB.

Formas de Atualizar uma Base de Dados de Servidor de Relatórios em Modo Nativo

A lista seguinte identifica as condições sob as quais uma base de dados de servidor de relatórios é atualizada:

  • O SQL Server Setup atualiza uma única instância de um servidor de relatórios. O esquema da base de dados do servidor de relatórios é automaticamente atualizado após o arranque do serviço e o servidor de relatórios determina que a versão do esquema da base de dados não corresponde à versão do servidor.

    No arranque do serviço, o servidor de relatórios verifica a versão do esquema da base de dados para verificar se corresponde à versão do servidor. Se a versão do esquema da base de dados for mais antiga, é automaticamente atualizada para a versão do esquema exigida pelo servidor de relatórios. A atualização automática é especialmente útil se restaurou ou anexou uma base de dados mais antiga de um servidor de relatórios. É introduzida uma mensagem no ficheiro de registo do servidor de relatórios indicando que a versão do esquema da base de dados foi atualizada.

  • O Reporting Services Gestor de Configuração atualiza uma base de dados local ou remota de um servidor de relatórios quando seleciona uma versão antiga para usar com uma instância mais recente do servidor de relatórios. Neste caso, tens de confirmar a ação de atualização antes que aconteça.

    O Reporting Services Gestor de Configuração já não fornece um botão de Upgrade ou script de atualização separado. Essas funcionalidades tornaram-se obsoletas a partir do SQL Server 2008 (10.0.x) devido à funcionalidade de atualização automática do serviço Report Server.

Depois de o esquema ser atualizado, não se pode reverter a atualização para uma versão anterior. Faz sempre backup da base de dados do servidor de relatórios caso precises de recriar uma instalação anterior.

Como o Esquema, Metadados e Conteúdo do Servidor de Relatórios é Atualizado

A base de dados do servidor de relatórios é atualizada em três fases:

  1. O esquema é atualizado automaticamente após a configuração e o arranque do serviço, ou quando selecionas uma base de dados de servidor de relatórios em modo nativo SQL Server na Reporting Services Gestor de Configuração que é uma versão mais antiga. Além disso, o serviço do Servidor de Relatórios verifica a versão da base de dados no arranque. Se o servidor de relatórios estiver ligado a uma base de dados que seja uma versão anterior, o servidor de relatórios irá atualizar a base de dados durante o arranque.

  2. Os descritores de segurança são atualizados na primeira utilização da base de dados do servidor de relatórios após a atualização do esquema.

  3. Os relatórios publicados e as capturas instantâneas de relatórios compilados são atualizados aquando da primeira utilização. Para mais informações, consulte Relatórios de Atualização.

Para além da base de dados do servidor de relatórios, um servidor de relatórios também utiliza uma base de dados temporária. A base de dados temporária é atualizada automaticamente quando atualiza a base de dados do servidor de relatórios.

Permissões necessárias para atualizar uma Base de Dados de Servidor de Relatórios

Se estiver a atualizar uma instalação do Reporting Services que inclui uma base de dados de servidor de relatórios, pode ver uma mensagem de erro se a atualização da base de dados for realizada com permissões insuficientes. Por defeito, o Setup utiliza o token de segurança do utilizador que está a executar o programa Setup para se ligar à instância remota do SQL Server e atualizar o esquema. Se tiver permissões de sysadmin do SQL Server no servidor de base de dados que aloja as bases de dados do servidor de relatórios, a atualização da base de dados terá sucesso. De forma semelhante, se executar o Setup a partir do prompt de comandos e especificar os argumentos RSUPGRADEDATABASEACCOUNT e RSUPGRADEPASSWORD para uma conta que tenha permissão de administrador do sistema para modificar o esquema no computador remoto, a atualização da base de dados terá sucesso.

No entanto, se não tiver permissão de administrador de sistemas para a base de dados no computador remoto, a ligação será recusada com o seguinte erro:

"Setup was not able to upgrade the report server database schema. You must update the database schema manually after setup is finished. To update the schema, run the Report Server Configuration Manager, open the Database Setup page, re-select the database, and click Apply. The database will be upgraded automatically."

Neste ponto, os ficheiros do programa do servidor de relatórios serão atualizados, mas a base de dados do servidor de relatórios estará no formato da versão anterior. O servidor de relatórios ficará indisponível até concluir o processo de atualização atualizando manualmente a base de dados.

Para atualizar uma base de dados em Modo Nativo com Scripts

Podes usar scripts WMI para atualizar uma base de dados de um servidor de relatórios. Para mais informações, consulte Método GenerateDatabaseUpgradeScript (WMI MSReportServer_ConfigurationSetting)