Armazenando e sincronizando conteúdo do servidor de relatório com bancos de dados do SharePoint

Ao configurar um servidor de relatório para execução no modo de integração do SharePoint, o servidor de relatório usa os bancos de dados de configuração e conteúdo do SharePoint, bem como seus próprios bancos de dados internos para armazenar conteúdo e metadados.

O Reporting Services e o SharePoint são aplicativos de servidor distribuídos que permitem executar serviços e bancos de dados internos em computadores separados. Cada servidor armazena tipos diferentes de dados. Vários bancos de dados relacionais do SQL Server fornecem o armazenamento interno para os dois servidores. Saber qual tipo de dados é armazenado em cada um que pode ajudar você a entender como os servidores funcionam juntos. Além disso, são fornecidas informações gerais que podem ajudá-lo a tomar decisões sobre como alocar o espaço em disco e agendar backups de banco de dados.

O diagrama a seguir mostra o conjunto completo de bancos de dados usado em uma implantação do servidor de relatório executada no modo integrado do SharePoint.

Diagrama de banco de dados

Banco de dados de configuração do SharePoint

Todos os aplicativos da Web do SharePoint têm um banco de dados de configuração que armazena configurações de aplicativo. Ao configurar uma instância do SharePoint Foundation 2010 ou do SharePoint Server 2010 para funcionar com um servidor de relatório, especifique configurações na Administração Central do SharePoint. As configurações especificadas são armazenadas neste banco de dados. As configurações incluem o URL do servidor de relatório, informações de conta para o serviço Servidor de Relatório, informações sobre o provedor de autenticação usado no servidor e configurações no nível do site que limitam ou habilitam o histórico e o registro de relatórios. Para obter mais informações, consulte Configurando o Reporting Services para integração do SharePoint 2010.

Banco de dados de conteúdo do SharePoint

Cada aplicativo da Web do SharePoint tem um ou mais bancos de dados de conteúdo que armazenam documentos e propriedades acessados e gerenciados pelo servidor. Para um servidor de relatório que está configurando para o modo integrado do SharePoint, o banco de dados de conteúdo do SharePoint fornece o armazenamento principal de relatórios publicados, modelos de relatórios, fontes de dados compartilhadas, recursos, propriedades e permissões.

Banco de dados do servidor de relatório e banco de dados temporário do servidor de relatório

Cada instância do servidor de relatório ou implantação de expansão usa um único banco de dados de servidor de relatório para armazenar dados persistentes. Os dados temporários estão isolados em um banco de dados secundário. Isto permite que você crie agendas de backup diferentes e defina propriedades de crescimento diferentes para cada um. Há um banco de dados temporário para cada banco de dados de servidor de relatório. Ele armazena dados de sessão e instantâneos temporários criados somente para processamento de assinaturas, relatórios interativos ou cache de relatórios como um aprimoramento do desempenho.

Os dados que são mantidos em um banco de dados de servidor de relatório incluem agendas, assinaturas e instantâneos para histórico ou execução de relatórios. O banco de dados de servidor de relatório também mantém cópias internas de arquivos de conteúdo que são armazenados no banco de dados de conteúdo do SharePoint. O armazenamento de cópias internas melhora o desempenho minimizando o número de vezes que um arquivo deve ser enviado ao servidor de relatório para ser processado. A sincronização e as verificações asseguram que os relatórios, os modelos e as fontes de dados sejam os mesmos.

Observação importanteImportante

Um banco de dados de servidor de relatório pode dar suporte a operações do modo nativo ou do modo de integração do SharePoint, mas nunca a ambos. Se você criar um banco de dados de servidor de relatório para dar suporte ao modo integrado do SharePoint, não poderá converter ou migrar posteriormente o banco de dados a ser executado com uma instância de servidor de relatório no modo nativo. O banco de dados do servidor de relatório contém metadados específicos do modo (especificamente, local do item e informações de permissão) que não são compatíveis com outro modo.

Conexões, permissões e logons de banco de dados

Um usuário que configura um servidor de relatório ou uma instância do Windows SharePoint Services ou do Office SharePoint Server deve ser um administrador local ou um membro do grupo de Administradores interno do computador.

O serviço Servidor de Relatório requer uma conexão de banco de dados com o banco de dados de conteúdo do SharePoint, mas não com o banco de dados de configuração. As configurações de integração do servidor de relatório são armazenadas no banco de dados de configuração usando o logon e as permissões criadas para os usuários da ferramenta Administração Central quando o Windows SharePoint Services é instalado.

Por outro lado, o serviço Servidor de Relatório cria, atualiza e exclui itens e propriedades no banco de dados de conteúdo do SharePoint. As informações de conexão, o logon e as permissões de banco de dados são configurados quando você especifica a conta confiável em Administração Central.

A instância do Windows SharePoint Services ou do Office SharePoint Server não adiciona nem recupera dados de bancos de dados do servidor de relatório. Todas as solicitações são direcionadas para o servidor de relatório que, por sua vez, acessa seus bancos de dados usando suas próprias configurações de conexão.

A permissão para exibir um item ou executar uma operação em um servidor de relatório é gerenciada pela instância do Windows SharePoint Services ou do Office SharePoint Server. A autenticação e as verificações de segurança ocorrem antes do envio da solicitação ao servidor de relatório. Cada solicitação tem um token de segurança que inclui informações de permissão que determinam se a solicitação é atendida ou negada.

Manutenção do banco de dados

O servidor de relatório executa a manutenção de rotina para remover instantâneos de relatórios órfãos, históricos de relatórios, agendas e assinaturas do banco de dados do servidor de relatório que são excluídos no site do SharePoint. Os itens órfãos são os que já não têm uma associação com um item pai em um banco de dados de conteúdo do SharePoint.

Em intervalos diários, o servidor de relatório verifica se os itens armazenados no banco de dados do servidor estão associados a um relatório que existe em um banco de dados de conteúdo do SharePoint. Para modificar a frequência do processo de limpeza, adicione uma configuração DailyCleanupMinuteofDay ao arquivo RSReportServer.config. O processo de limpeza é executado em segundo plano e usa as informações de agenda definidas nos arquivos de configuração. Você não pode executar o processo sob demanda.

Se a instância do Windows SharePoint Services ou do Office SharePoint Server não estiver disponível (por exemplo, se o servidor estiver offline), nenhuma operação de limpeza ocorrerá. Se um banco de dados do servidor de relatório que tem dados antigos que não correspondem aos itens atualmente armazenados no banco de dados do SharePoint for restaurado, os itens serão removidos na próxima vez em que o processo de limpeza for executado.

O processo de limpeza exclui somente conteúdo; ele não sincroniza nem atualiza os itens do servidor de relatório que são armazenados no banco de dados de conteúdo do SharePoint. Por padrão, o processo de limpeza é executado às 02h00 todos os dias.

Para especificar um horário diferente, adicione DailyCleanupMinuteofDay ao arquivo RSReportServer.config e defina um valor diferente. Por exemplo:

<Add Key=" DailyCleanupMinuteOfDay " Value="120" />

Por padrão, a configuração não está no arquivo RSReportServer.config. Para adicioná-la, copie a entrada e coloque-a no elemento Configuration, junto com os outros elementos Add dessa seção. O valor em minutos começa às 00h00, com um valor mínimo de 30 e o máximo de 1380 (23 horas).

Operações de sincronização e verificação

Para assegurar que as cópias mantidas para processamento interno no servidor de relatório sejam iguais aos itens originais na biblioteca do SharePoint, o servidor de relatório executa etapas de sincronização e verificação de itens antes de processar uma solicitação.

Sincronização é um processo que cria, atualiza ou exclui uma cópia interna de um item que é armazenado no banco de dados do servidor de relatório. O servidor de relatório recupera itens e propriedades de uma biblioteca do SharePoint e armazena-os no banco de dados do servidor de relatório. As informações de data e hora são a base de comparação. O carimbo de data e hora é armazenado em formato UTC. Se o servidor de relatório e o site ou farm do SharePoint estiverem em fuso horários diferentes, o carimbo de data e hora será convertido no horário do servidor local em que está armazenado.

Verificação é uma etapa que determina se a sincronização é necessária. Se o carimbo de data e hora do item original e da cópia interna for o mesmo, nenhuma sincronização ocorrerá.

Como os itens são sincronizados

A sincronização é executada pelo servidor de relatório. É um processo em segundo plano que é disparado automaticamente sempre que um item é criado, atualizado ou recuperado. Você não pode gerenciar, configurar ou controlar operações de sincronização explicitamente. O escopo da sincronização abrange solicitações específicas para criar ou atualizar um item. Não há nenhuma operação de sincronização global que alinhe todos os itens e propriedades ao mesmo tempo. Para sincronizar manualmente um relatório, modelo de relatório ou fonte de dados compartilhada, é necessário executar o relatório.

As cópias internas de um item são criadas ou atualizadas quando o item não existe no banco de dados do servidor de relatório ou quando o item do banco de dados do servidor de relatório é mais antigo do que o item correspondente na biblioteca do SharePoint. Uma cópia interna é criada em resposta aos eventos seguintes:

  • Solicitação de um relatório ou modelo de relatório. Isso cria uma cópia interna de um relatório, modelo de relatório e das fontes de dados compartilhadas mencionados por cada item.

  • Publicação de relatórios ou modelos de relatório do Designer de Relatórios ou do Designer de Modelo em uma biblioteca do SharePoint. Após um item ser adicionado ao banco de dados de conteúdo do SharePoint, uma cópia ou o relatório ou modelo é criada e adicionada ao banco de dados do servidor de relatório. Se você também publicar uma fonte de dados compartilhada junto com o modelo de relatório, uma cópia interna dessa fonte não será criada até a fonte ser usada.

O uso da ação Carregar em um site do SharePoint atrasa a criação de uma cópia interna no banco de dados do servidor de relatório. Para qualquer item de servidor de relatório carregado, é criada uma cópia interna quando o item é solicitado.

Nenhuma cópia interna é composta por arquivos de imagem externos usados em um relatório ou por agendas, instantâneos ou assinaturas armazenados exclusivamente no banco de dados do servidor de relatório.

Sobre configurações e permissões

Embora as configurações devam ser definidas corretamente nos dois servidores, elas são excluídas de processos de sincronização. Se a conta de serviço do servidor de relatório, o URL, o tipo de autenticação ou o modo de execução do servidor de relatório for alterado de modo que a execução ocorra no modo nativo e não no modo integrado do SharePoint, atualize explicitamente as configurações do servidor na ferramenta Administração Central do SharePoint ou Configuração do Reporting Services.

As permissões que são definidas em um site ou farm do SharePoint são usadas pelo servidor de relatório. Não há nenhuma sincronização de permissões entre um site ou farm do SharePoint e um servidor de relatório.

Disponibilidade do servidor e falhas de sincronização

A sincronização de itens, propriedades e operações requer que todos os computadores e conexões que façam parte de uma implantação estejam disponíveis e funcionando. A sincronização não ocorre nas condições a seguir:

  • Servidores ou bancos de dados back-end ficam offline ou indisponíveis de algum outro modo.

  • As informações de conexão para qualquer servidor ou banco de dados back-end ficam inválidas. Por exemplo, se você altera um URL incorretamente ou uma conta de serviço ou senha.

  • As informações de conexão são modificadas sem deixar os servidores offline, interrompendo o controle de tempo e o fluxo de operações sincronizadas.

Quando a sincronização não puder ocorrer porque os servidores não podem se conectar um ao outro ou aos bancos de dados back-end, o servidor de relatório reconciliará o conteúdo ou os metadados não sincronizados quando a conexão for restaurada e quando um relatório, um modelo de relatório, uma fonte de dados compartilhada e uma assinatura forem solicitados.

O erro rsItemNotFound ocorrerá se a sincronização falhar. Isto significa que o item não foi localizado em uma biblioteca do SharePoint.