Stockage et synchronisation de contenu de serveur de rapports avec des bases de données SharePoint

Lorsque vous configurez un serveur de rapports pour s'exécuter en mode d'intégration SharePoint, le serveur de rapports utilise les bases de données de configuration et de contenu SharePoint, ainsi que ses propres bases de données internes pour stocker le contenu et les métadonnées.

Reporting Services et Windows SharePoint Services sont des applications de serveur distribuées qui vous permettent d'exécuter des services et des bases de données internes sur des ordinateurs distincts. Chaque serveur stocke différents types de données. Plusieurs bases de données relationnelles SQL Server procurent le stockage interne pour les deux serveurs. Le fait de savoir quel type de données est stocké dans chacune d'elle peut vous aider à comprendre la manière dont les serveurs interagissent. Vous disposerez également des informations contextuelles nécessaires pour la prise de décision quant à l'allocation de l'espace disque et la planification des sauvegardes de bases de données.

Le schéma suivant illustre l'ensemble complet de bases de données utilisées dans un déploiement de serveur de rapports qui s'exécute en mode intégré SharePoint.

Schéma de base de données

Base de données de configuration SharePoint

Chaque application Web SharePoint possède une base de données de configuration qui contient des paramètres d'applications. Lorsque vous configurez une instance de Windows SharePoint Services ou Office SharePoint Server pour fonctionner avec un serveur de rapports, vous spécifiez des paramètres de configuration dans l'administration centrale SharePoint. Les paramètres que vous spécifiez sont stockés dans cette base de données. Les paramètres incluent l'URL du serveur de rapports, des informations de compte pour le service Report Server, des informations concernant le fournisseur d'authentification utilisé sur le serveur, ainsi que des paramètres de niveau site qui limitent ou activent l'historique de rapport et la journalisation. Pour plus d'informations, consultez Configuration de Reporting Services pour l'intégration de SharePoint 3.0.

Base de données de contenu SharePoint

Chaque application Web SharePoint possède une ou plusieurs bases de données de contenu qui contiennent les documents et propriétés accédés et gérés par le biais du serveur. Pour un serveur de rapports configuré pour le mode intégré SharePoint, la base de données de contenu SharePoint fournit le stockage principal pour les rapports publiés, les modèles de rapports, les sources de données partagées, les ressources, les propriétés et les autorisations.

Base de données de serveur de rapports et base de données temporaire de serveur de rapports

Chaque déploiement avec montée en puissance parallèle ou instance de serveur de rapports utilise une seule base de données de serveur de rapports pour stocker les données persistantes. Les données temporaires sont isolées dans une base de données secondaire. Cela vous permet de créer différentes planifications de sauvegarde et de définir différentes propriétés de croissance pour chacune d'elle. Il existe une base de données temporaire pour chaque base de données de serveur de rapports. Elle contient des données de session et des captures instantanées temporaires qui sont créées uniquement pour le traitement des abonnements, la création de rapports interactifs ou la mise en cache de rapports en tant qu'amélioration de performances.

Les données conservées dans une base de données de serveur de rapports incluent des planifications, des abonnements et des captures instantanées pour l'historique de rapports ou l'exécution de rapports. La base de données du serveur de rapports conserve également des copies internes des fichiers de contenu stockés dans la base de données de contenu SharePoint. Le stockage de copies internes améliore les performances en minimisant le nombre de fois qu'un fichier doit être envoyé au serveur de rapports à des fins de traitement. La synchronisation et les vérifications garantissent que les rapports, modèles et sources de données sont identiques.

Important

Une base de données du serveur de rapports peut prendre en charge les opérations en mode natif ou en mode d'intégration SharePoint, mais jamais les deux. Si vous créez une base de données du serveur de rapports pour prendre en charge le mode intégré SharePoint, vous ne pouvez ni convertir ni migrer la base de données pour qu'elle s'exécute ultérieurement avec une instance du serveur de rapports en mode natif. La base de données du serveur de rapports contient des métadonnées spécifiques au mode (plus spécifiquement, des informations relatives aux emplacements des éléments et aux autorisations).

Connexions et autorisations de base de données

Un utilisateur qui configure un serveur de rapports ou une instance de Windows SharePoint Services ou Office SharePoint Server doit être un administrateur local ou un membre du groupe intégré Administrateurs sur l'ordinateur.

Le service Report Server requiert une connexion de base de données à la base de données de contenu SharePoint, mais pas à la base de données de configuration. Les paramètres d'intégration de serveur de rapports sont stockés dans la base de données de configuration à l'aide de la connexion et des autorisations créées pour les utilisateurs de l'outil Administration centrale lors de l'installation de Windows SharePoint Services.

En revanche, le service Report Server crée, met à jour et supprime des éléments et des propriétés dans la base de données de contenu SharePoint. Les informations de connexion et les autorisations de base de données sont configurées lorsque vous spécifiez le compte approuvé dans l'outil Administration centrale.

L'instance de Windows SharePoint Services ou d'Office SharePoint Server n'ajoute ni ne récupère aucune donnée à partir des bases de données du serveur de rapports. Toutes les demandes sont dirigées vers le serveur de rapports, qui à son tour accède aux bases de données du serveur de rapports par le biais de ses propres paramètres de connexion.

L'autorisation d'affichage d'un élément ou d'exécution d'une opération sur un serveur de rapports est gérée par l'instance de Windows SharePoint Services ou d'Office SharePoint Server. Les vérifications d'authentification et de sécurité ont lieu avant que la demande ne soit envoyée au serveur de rapports. Chaque demande est accompagnée d'un jeton de sécurité qui inclut des informations d'autorisation déterminant si la demande est acceptée ou refusée.

Maintenance de la base de données

Le serveur de rapports effectue une maintenance de routine afin de supprimer les captures instantanées de rapports, les historiques de rapports, les planifications et les abonnements orphelins de la base de données du serveur de rapports qui sont supprimés sur le site SharePoint. Les éléments orphelins sont ceux qui ne sont plus associés à un élément parent dans une base de données de contenu SharePoint.

À intervalles quotidiens, le serveur de rapports vérifie que les éléments stockés dans la base de données du serveur de rapports sont associés à un rapport qui existe dans une base de données de contenu SharePoint. Pour modifier la fréquence du processus de nettoyage, ajoutez le paramètre de configuration DailyCleanupMinuteofDay au fichier RSReportServer.config. Le processus de nettoyage s'exécute en arrière-plan et utilise les informations de planification définies dans les fichiers de configuration. Vous ne pouvez exécuter ce processus sur demande.

Si l'instance de Windows SharePoint Services ou d'Office SharePoint Server n'est pas disponible (par exemple si le serveur est hors connexion), aucune opération de nettoyage n'a lieu. Si vous restaurez une base de données de serveur de rapports contenant d'anciennes données qui ne correspondent pas aux éléments stockés actuellement dans la base de données SharePoint, les éléments seront supprimés lors de la prochaine exécution du processus de nettoyage.

Le processus de nettoyage supprime uniquement le contenu ; il n'effectue ni la synchronisation, ni la mise à jour des éléments du serveur de rapports qui sont stockés dans la base de données de contenu SharePoint. Par défaut, le processus de nettoyage s'exécute chaque jour à deux heures du matin.

Pour spécifier un horaire différent, vous devez ajouter DailyCleanupMinuteofDay au fichier RSReportServer.config et définir une valeur différente. Exemple :

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

Le paramètre ne se trouve pas dans le fichier RSReportServer.config par défaut. Pour l'ajouter, copiez l'entrée et placez-la sous l'élément Configuration avec les autres éléments Add de cette section. La valeur correspond au nombre de minutes à partir de minuit, avec une valeur minimale de 30 et une valeur maximale de 1380 (23 heures).

Opérations de synchronisation et de vérification

Pour s'assurer que les copies conservées pour le traitement interne sur le serveur de rapports sont identiques aux éléments d'origine dans la bibliothèque SharePoint, le serveur de rapports effectue des étapes de synchronisation et de vérification des éléments avant de traiter une demande.

La synchronisation est un processus qui crée, met à jour ou supprime une copie interne d'un élément stocké dans la base de données du serveur de rapports. Le serveur de rapports récupère des éléments et des propriétés à partir d'une bibliothèque SharePoint et les stocke dans la base de données du serveur de rapports. Les informations d'horodatage constituent la base de la comparaison. L'horodatage est stocké au format UTC. Si le serveur de rapports et le site ou la batterie SharePoint se trouvent dans différents fuseaux horaires, l'horodatage est converti en heure locale du serveur lors de son stockage.

La vérification est une étape qui détermine si la synchronisation est nécessaire. Si l'horodatage de l'élément d'origine et de la copie interne sont identiques, aucune synchronisation n'a lieu.

Synchronisation des éléments

La synchronisation est assurée par le serveur de rapports. Il s'agit d'un processus en arrière-plan déclenché automatiquement chaque fois qu'un élément est créé, mis à jour ou récupéré. Vous ne pouvez ni gérer, ni configurer, ni contrôler de façon explicite les opérations de synchronisation. La portée de la synchronisation est adaptée aux demandes spécifiques afin de créer ou de mettre à jour un élément. Il n'existe aucune opération de synchronisation globale qui aligne simultanément tous les éléments et propriétés. Pour synchroniser manuellement un rapport, un modèle de rapport ou une source de données partagée, vous devez l'exécuter.

Des copies internes d'un élément sont créées ou mises à jour lorsque l'élément n'existe pas dans la base de données du serveur de rapports ou lorsque l'élément contenu dans la base de données du serveur de rapports est plus ancien que l'élément correspondant dans la bibliothèque SharePoint. Une copie interne est créée si les événements suivants se produisent :

  • Demande de rapport ou de modèle de rapport. Cet événement crée une copie interne d'un rapport, d'un modèle de rapport et de toute source de données partagée référencée par l'un des éléments.

  • Publication d'un rapport ou d'un modèle de rapport à partir du Concepteur de rapports ou du Générateur de modèles vers une bibliothèque SharePoint. Une fois l'élément ajouté à la base de données de contenu SharePoint, une copie du rapport ou du modèle est créée et ajoutée à la base de données du serveur de rapports. Si vous publiez également une source de données partagée avec le modèle de rapport, une copie interne de la source de données partagée ne sera créée que lorsqu'elle sera utilisée.

L'utilisation de l'action Télécharger sur un site SharePoint retardera la création d'une copie interne dans la base de données du serveur de rapports. Pour tout élément de serveur de rapports que vous téléchargez, une copie interne est créée lorsque l'élément est demandé.

Aucune copie interne n'est jamais effectuée pour les fichiers image externes utilisés dans un rapport, ni pour les planifications, les captures instantanées ou les abonnements qui sont stockés exclusivement dans la base de données du serveur de rapports.

À propos des autorisations et des paramètres de configuration

Bien qu'il faille définir les paramètres de configuration correctement sur les deux serveurs, ils sont exclus des processus de synchronisation. Si vous modifiez le compte du service Report Server, l'URL, le type d'authentification ou le mode d'exécution du serveur de rapports de sorte qu'il s'exécute en mode natif plutôt qu'en mode intégré SharePoint, vous devez mettre à jour de manière explicite les paramètres de configuration de serveur dans l'outil Administration centrale de SharePoint ou l'outil de configuration de Reporting Services.

Les autorisations définies sur un site ou une batterie SharePoint sont utilisées par le serveur de rapports. Il n'y a aucune synchronisation des autorisations entre un site ou une batterie SharePoint et un serveur de rapports.

Disponibilité de serveur et échecs de synchronisation

La synchronisation des éléments, des propriétés et des opérations exige que tous les ordinateurs et toutes les connexions qui font partie d'un déploiement soient disponibles et opérationnels. La synchronisation n'aura pas lieu si les conditions suivantes sont remplies :

  • Des serveurs ou des bases de données principales sont mises hors connexion ou sont indisponibles.

  • Les informations de connexion pour l'un des serveurs ou l'une des bases de données principales deviennent non valides. Par exemple, si vous modifiez une URL de manière incorrecte ou si vous modifiez un mot de passe ou un compte de service.

  • Les informations de connexion sont modifiées sans mise hors connexion préalable des serveurs, ce qui perturbe la synchronisation et le flux des opérations synchronisées.

Dans les cas où la synchronisation ne peut avoir lieu car les serveurs ne peuvent communiquer l'un avec l'autre ou avec leurs bases de données principales, le serveur de rapports réconcilie le contenu ou les métadonnées désynchronisées lorsque la connexion est restaurée et lorsqu'un rapport, un modèle de rapport, une source de données partagée ou un abonnement est demandé.

L'erreur rsItemNotFound se produira si la synchronisation échoue. Cela signifie que l'élément est introuvable dans une bibliothèque SharePoint.