Partilhar via


Processar relatórios grandes

Relatórios grandes apresentam certos desafios de processamento e necessitam certas configurações para que sejam executados corretamente. Relatórios grandes não devem ser executados sob demanda, a não ser que sejam configurados para oferecer suporte à paginação.

Observação

Por padrão, quebras de página são habilitadas. Não desabilite quebras de página se achar que o relatório contêm uma grande quantidade de dados. O formato de renderização HTML usado para renderizar inicialmente um relatório abre um relatório no navegador. Se o relatório não for paginado, todos os dados serão incluídos em uma única página, incompatível com a maioria dos navegadores. Por exemplo, um relatório com 5.000 linhas de dados provavelmente não poderá ser exibido em um navegador, em uma única página.

Se você estiver trabalhando com um relatório grande, escolha as opções de execução, renderização e entrega do relatório que podem acomodar documentos desse tipo. O conjunto de linhas que retorna da consulta e a extensão de renderização usada para apresentar o relatório determinam o tamanho do relatório.

Para relatórios que contêm dados voláteis, o tamanho do relatório pode variar radicalmente de uma execução de relatório para outra. Nesse caso, você deve monitorar a fonte de dados para determinar como a volatilidade dos dados afeta o seu relatório e se é necessário seguir as etapas descritas neste artigo.

Para obter mais informações sobre como diagnosticar erros de tempo limite e de falta de memória, consulte o artigo Como diagnosticar problemas ao executar relatórios no servidor de relatório em blogs.msdn.microsoft.com.

Recomendações de configuração

As recomendações para execução e renderização de relatório e o acesso a ele incluem os seguintes itens:

  • Projete o relatório para oferecer suporte à paginação. O servidor de relatório envia uma página do relatório por vez. Se o relatório incluir paginação, será possível controlar a quantidade de dados que será transmitida ao navegador. Para obter mais informações, confira Pré-carregar o cache (SSRS).

  • Configure o relatório para ser executado como um instantâneo de relatório agendado para evitar que seja executado sob demanda. Não defina um valor de tempo limite para a execução de relatório. Execute o relatório em horários de pouca atividade.

  • Configure o relatório para usar uma fonte de dados compartilhada para controlar se ele deve ser processado. Uma vantagem de usar uma fonte de dados compartilhada é a possibilidade de desabilitá-la. Desabilitar a fonte de dados impede o processamento do relatório.

  • Desabilite o histórico de relatório se desejar conservar espaço em disco. Para desabilitar o histórico de relatório, desmarque todas as caixas de seleção na página de propriedades do Histórico.

  • Limite o acesso ao relatório. Configure o relatório para usar segurança de nível de item e substitua as atribuições de função padrão por novas atribuições que concedam acesso somente aos usuários que precisam de tal acesso.

    Por padrão, os usuários podem abrir qualquer relatório que possa ser exibido na hierarquia da pasta. Ainda que você configure um relatório para execução como instantâneo, usuários que podem exibir o item do relatório em uma pasta podem abrir o relatório. Se o relatório for grande, talvez faça o navegador parar de responder quando um usuário abrir o relatório no portal da Web.

Recomendações de renderização

Antes de configurar a distribuição de relatório, é necessário saber quais clientes de renderização podem acomodar documentos grandes. O formato recomendado é a extensão de renderização HTML padrão com pequenas quebras de página flexível, mas é possível escolher qualquer outro formato que ofereça suporte à paginação.

O desempenho e o consumo de memória variam de acordo com o formato de renderização. O mesmo relatório é processado em velocidades diferentes e exigirá quantidades diferentes de memória dependendo do formato selecionado. Os formatos mais rápidos e que consomem menos memória são CSV, XML e HTML. PDF e Excel têm o desempenho mais lento, mas por motivos diferentes. O formato PDF usa intensamente a CPU, enquanto o Excel usa a RAM de maneira intensiva. A renderização de imagens recai entre os dois grupos. Você pode especificar o formato ao definir como o relatório será distribuído.

Recomendações de implantação e distribuição

Se você estiver usando quebras de página para controlar a renderização do relatório, poderá implantar um relatório grande do mesmo modo que faria com qualquer outro relatório. É possível conceder acesso ao relatório através do portal da Web, uma parte do SharePoint Web ou uma URL adicionada a um portal ou site da Web. Todas essas opções de implantação oferecem suporte a acesso sob demanda e um instantâneo de relatório executado anteriormente.

Uma estratégia de implantação alternativa é distribuir relatórios a usuários individuais. É possível distribuir relatórios grandes através de assinaturas se você tomar cuidado com como configura as opções de entrega. Use uma assinatura padrão ou uma assinatura controlada por dados para entregar o relatório. Recomendações para assinatura e entrega incluem as configurações a seguir:

  • Configure uma assinatura para usar um arquivo Web (MHTML), PDF ou Excel.

  • Configure uma assinatura para usar entrega de compartilhamento de arquivo se estiver usando PDF ou Excel. Quando o relatório for entregue, será possível usar um aplicativo de desktop para trabalhar com o relatório. É necessário definir permissões no compartilhamento de arquivo para determinar quem pode exibir o relatório.

    Quando o relatório está no compartilhamento de arquivo, ele não é controlado ou protegido pelo Reporting Services. Para ser notificado quando o relatório for atualizado, crie uma segunda assinatura que use entrega de email para enviar somente uma notificação.

Se você quiser usar entrega de relatório por email, configure a assinatura para incluir um link. Evite enviar o relatório como anexo.

Assinaturas e entrega (Reporting Services)
Definir propriedades de processamento de relatórios
Especificar informações de credenciais e de conexão para fontes de dados de relatório
Gerenciamento do conteúdo do servidor de relatório (modo nativo do SSRS)
Pré-carregar o cache (SSRS)