Atualizar relatórios (SSRS)

Aplica-se a: SQL Server 2016 (13.x) Servidor de Relatórios do Power BI

Os arquivos de definição de relatório (.rdl) são automaticamente atualizados da seguinte forma:

  • Quando você abre um relatório paginado no Designer de Relatórios no SSDT (SQL Server Data Tools), a definição do relatório é atualizada para o esquema RDL com suporte no momento. Quando você especifica um servidor de relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) nas propriedades do projeto, a definição de relatório é salva em um esquema compatível com o servidor de destino.

  • Quando você atualiza uma instalação do Reporting Services para uma instalação do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior, os relatórios e instantâneos existentes publicados em um servidor de relatório são compilados e atualizados automaticamente para o novo esquema na primeira vez que são processados. Se não for possível atualizar um relatório automaticamente, o relatório será processado usando o modo da compatibilidade com versões anteriores. A definição de relatório permanece no esquema original.

Após a atualização de um relatório localmente ou no servidor de relatório, talvez você encontre erros, avisos e mensagens adicionais. Esse é o resultado das alterações no modelo de objeto de relatório interno e nos componentes de processamento, que fazem com que mensagens sejam exibidas quando forem detectados problemas subjacentes no relatório. Para obter mais informações, consulte Compatibilidade com versões anteriores do Reporting Services.

Para obter mais informações sobre os novos recursos do SQL Server 2016 (13.x) Reporting Services (SSRS), confira Novidades no SQL Server Reporting Services (SSRS).

Versões com suporte da atualização

Relatórios criados em qualquer versão anterior do Reporting Services podem ser atualizados. Isso inclui as seguintes versões:

  • SQL Server 2008 (10.0.x)

  • SQL Server 2008 R2 (10.50.x)

  • SQL Server 2012 (11.x)

  • SQL Server 2014 (12.x)

Arquivos de definição de relatório (.rdl) e Designer de Relatórios

Um arquivo de definição de relatório inclui uma referência ao namespace do RDL que especifica a versão do esquema de definição de relatório usado para validar o arquivo .rdl.

Quando você abre um arquivo .rdl no Designer de Relatórios do SSDT (SQL Server Data Tools), se o relatório foi criado para um namespace anterior, o Designer de Relatórios cria automaticamente um arquivo de backup e atualiza o relatório para o namespace atual. Esse é o único modo que você pode atualizar um arquivo de definição de relatório.

As propriedades da implantação que você define podem afetar em qual esquema o arquivo de definição de relatório é salvo. Para obter mais informações, confira Implantação e suporte de versão no SQL Server Data Tools (SSRS).

Carregue um arquivo .rdl criado em uma versão anterior do Reporting Services na nova versão e ele será atualizado automaticamente na primeira vez que for usado. O servidor de relatório armazena o arquivo de definição de relatório no formato original. O relatório será atualizado automaticamente na primeira vez que for exibido, mas o arquivo de definição de relatório armazenado permanecerá inalterado.

Para identificar o esquema RDL atual de um relatório, de um servidor de relatório ou do Designer de Relatórios, confira Localizar a versão do esquema de definição de relatório (SSRS).

Relatórios publicados e instantâneos de relatório

Na primeira vez que for usado, o servidor de relatório tentará atualizar os relatórios publicados e os instantâneos de relatório existentes para o novo esquema de definição de relatório, sem exigir uma ação específica de sua parte. Quando um usuário exibe um relatório ou um instantâneo de relatório, ou quando o servidor de relatório processa uma assinatura, ocorre uma tentativa de atualização. A definição de relatório não é substituída, mas continua sendo armazenada no servidor de relatório em seu esquema original. Se um relatório não puder ser atualizado, ele será executado no modo da compatibilidade com versões anteriores.

Modo de compatibilidade com versões anteriores

Um relatório atualizado com êxito é processado pelo processador de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior. Um relatório que não pode ser atualizado é tratado pelo processador de relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services no modo de compatibilidade com versões anteriores. Um relatório não pode ser processado pelos dois processadores de relatório. Na primeira vez que for usado, um relatório será atualizado com êxito ou marcado para compatibilidade com versões anteriores.

Somente o processador de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior dá suporte a novos recursos. Se não for possível atualizar um relatório, você ainda poderá exibir o relatório renderizado, mas os recursos novos não estarão disponíveis. Para se beneficiar dos recursos novos, um relatório deverá ser atualizado com êxito.

Atualizando um relatório com sub-relatórios

Quando um relatório contiver sub-relatórios, um de quatro possíveis estados poderá ocorrer durante a atualização:

  • O relatório principal e todos os sub-relatórios podem ser atualizados com êxito. Eles são processados pelo processador de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior.

  • O relatório principal e todos os sub-relatórios não podem ser atualizados. Eles são tratados pelo processador de relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services.

  • O relatório principal pode ser atualizado, entretanto um ou mais sub-relatórios não podem ser atualizados. O relatório principal é processado pelo processador de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior, mas o relatório renderizado mostra a mensagem "Erro: não foi possível processar o sub-relatório" na localização em que o sub-relatório que não foi atualizado seria exibido.

  • Não é possível atualizar o relatório principal, entretanto é possível atualizar um ou mais sub-relatórios. O relatório principal é processado pelo processador de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior, mas o relatório renderizado mostra a mensagem "Erro: não foi possível processar o sub-relatório" na localização em que o sub-relatório seria exibido.

Se você visualizar o erro "Erro: não foi possível processar o sub-relatório", deverá alterar a definição do relatório principal ou do sub-relatório de forma que os relatórios possam ser processados pela mesma versão do processador de relatórios.

Relatórios detalhados não têm esta limitação porque eles são processados como relatórios independentes.

Atualizando um relatório com itens de relatório personalizados

Os relatórios do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services podem conter CRIs (itens de relatórios personalizados) fornecidos por fornecedores de software de terceiros e instalados pelo administrador do sistema no computador de criação de relatório e no servidor de relatório. Os relatórios que contêm CRIs podem ser atualizados dos seguintes modos:

  • Um servidor de relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services é atualizado para um servidor de relatório do SSRS (SQL Server Reporting Services) 2016 (13.x) ou posterior. Os relatórios publicados no servidor de relatório serão atualizados automaticamente na primeira vez que forem usados.

  • Um relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services é carregado em um servidor de relatório do SSRS (SQL Server Reporting Services) 2016 (13.x) ou posterior. O relatório será atualizado automaticamente na primeira vez que for usado.

  • Um relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services é aberto no Designer de Relatórios do SSDT (SQL Server Data Tools). Uma cópia de backup do relatório original é criada. Ocorrerá um dos dois casos seguintes:

    1. Todos o CRIs no relatório não têm recurso sem-suporte. Os CRIs são convertidos em itens de relatório no novo esquema de definição de relatório, portanto, o relatório inteiro é atualizado. Se você salvar o arquivo, ele será salvo no namespace da RDL atual.

    2. Um ou mais CRIs no relatório têm recursos sem-suporte. Uma caixa de diálogo avisa o usuário se deve converter os CRIs ou deixá-los inalterados.

    Para obter mais informações, consulte Abrindo um relatório no Designer de Relatórios posteriormente neste tópico.

Para obter informações sobre como identificar o namespace de RDL atual de um servidor de relatório, do SQL Server Data Tools ou de um relatório, confira Localizar a versão do esquema de definição de relatório (SSRS).

Atualizando relatórios em um servidor de relatório

Na primeira vez que um relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services é executado em um servidor de relatório atualizado para um servidor de relatório do SSRS (SQL Server Reporting Services) 2016 (13.x) ou posterior, o relatório é atualizado automaticamente para o namespace de definição de relatório atual com suporte do servidor de relatório. O relatório pode ter existido no servidor de relatório antes da atualização, ter sido carregado por meio do portal da Web ou publicado no servidor de relatório por meio do Designer de Relatórios no SQL Server 2008 (10.0.x), no SQL Server 2008 R2 (10.50.x), no SQL Server 2012 (11.x) ou no SQL Server 2014 (12.x) SQL Server Data Tools.

A tabela seguinte lista a ação de atualização que é executada pelo servidor de relatório para tipos específicos de CRIs em um relatório.

Tipo de CRI Ação de atualização do servidor de relatório
CRIs de terceiros Atualização não executada.

Tratado pelo processador de relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services.

Abrindo um Relatório com CRIs no Designer de Relatórios

Quando você abrir um relatório do SQL Server 2008 (10.0.x), do SQL Server 2008 R2 (10.50.x), do SQL Server 2012 (11.x) ou do SQL Server 2014 (12.x) Reporting Services com CRIs no Designer de Relatórios do SSDT (SQL Server Data Tools), o relatório será atualizado para o novo esquema de definição de relatório. Dependendo dos CRIs contidos no relatório, uma das seguintes ações ocorrerá:

  • CRIs de terceiros detectados. Se a versão do CRI que está instalada no computador de criação de relatórios não for compatível com o novo esquema rdl, a superfície do design mostrará uma caixa de texto com um X vermelho. Você deverá contatar o administrador do sistema para instalar novas versões do CRI de fornecedores de terceiros que sejam compatíveis com o novo esquema rdl.

Salvar um relatório depois de ele ser atualizado no ambiente de criação de relatórios é a única maneira de atualizar um relatório existente para o novo esquema de definição de relatório.

Caixa de diálogo Converter CRI

Este relatório contém CRIs (itens de relatório personalizados) com recursos sem suporte. CRIs são extensões para a linguagem RDL (Report Definition Language) que oferecem suporte a objetos personalizados que exibem dados em um relatório. Os CRIs incluem componentes em tempo de design e em tempo de execução oferecidos por fornecedores de software de terceiros.

Observação

Optar por oferecer suporte a itens de relatório personalizados em um servidor de relatório é uma decisão tomada pelo administrador do sistema. Para exibir CRIs em um relatório, os componentes do CRI devem ser instalados no cliente de criação do relatório para visualizar um relatório e no servidor de relatório para exibir um relatório publicado ou carregado. Para obter mais informações, veja Itens de relatório personalizados e a documentação do fornecedor de software de terceiros.

Alguns CRIs podem ser convertidos em itens de relatório no novo formato de definição do relatório. Use a seguinte lista para decidir se você deve converter os CRIs nesse relatório:

  • Sim Escolha Sim para converter todos os CRIs do relatório, quando possível. Recursos para os quais não há suporte nos CRIs não podem ser atualizados, sendo removidos do arquivo de definição do relatório. Ao exibir o relatório, você pode ver as diferenças na forma como o CRI é exibido no relatório.

  • Não Escolha Não quando não quiser converter os CRIs do relatório. Esses CRIs não podem ser exibidos pelo processador de relatório na versão atual. Caso o administrador do sistema pretenda instalar uma nova versão da CRI do fornecedor de software de terceiros compatível com o novo formato de definição do relatório, escolha Não. Até que as novas versões estejam disponíveis, os CRIs são exibidos no relatório como uma caixa de texto vazia com um X vermelho.

Em ambos os casos, o relatório é atualizado para o novo formato de definição de relatório e uma cópia de backup do relatório original é salva como <Nome do Relatório>- Backup.rdl. Caso salve o relatório na ferramenta de criação do relatório, você está salvando o relatório atualizado no novo formato de definição do relatório. Caso você publique o relatório, ele é salvo primeiro no computador e, em seguida, publicado no servidor de relatório. Você está publicando a versão atualizada do relatório no servidor de relatório.

Caso você não salve o relatório, o relatório original permanece inalterado. No entanto, não é possível editá-lo na versão SQL Server 2016 do SQL Server Data Tools ou em um ambiente de criação de relatório que usa um formato mais novo de definição de relatório. Você pode continuar executando a versão original do relatório carregando-o em um servidor de relatório do SQL Server 2016 (13.x) Reporting Services (SSRS) ou posterior usando o portal da Web. Para obter mais informações, consulte Portal da Web.

Para relatórios carregados, e não publicados em um servidor de relatório, o processador de relatórios determina se o relatório pode ser atualizado no primeiro uso. Os relatórios que não podem ser atualizados são processados no modo de compatibilidade com versões anteriores e continuam a ser exibidos como ocorria na versão anterior do Reporting Services.

Próximas etapas

Atualizar e migrar o Reporting Services
Alterações recentes no SQL Server Reporting Services no SQL Server 2016
Alterações de comportamento do SQL Server Reporting Services no SQL Server 2016
Funcionalidade descontinuada do SQL Server Reporting Services no SQL Server 2016
Itens de relatório personalizados
Atualizar um banco de dados do servidor de relatório

Mais perguntas? Experimente perguntar no fórum do Reporting Services