Planifications Reporting Services

Reporting Services fournit des planifications partagées et des planifications spécifiques aux rapports pour vous aider à contrôler le traitement et la distribution des rapports. La différence entre les deux types de planifiers réside dans la manière dont ils sont définis, stockés et managés. La construction interne des deux types de planifications est la même. Toutes les planifications spécifient un type de périodicité : mensuelle, hebdomadaire ou quotidienne. Dans le type de périodicité, vous définissez les intervalles et la plage pour configurer la fréquence à laquelle un événement se produit. Qu'il s'agisse de créer une planification partagée ou une planification spécifique aux rapports, le type de périodicité et la façon dont elle est spécifiée restent inchangés.

  • Les planifications partagées sont créées en tant qu'éléments distincts. Après les avoir créées, vous les référencez lors de la définition d'un abonnement ou de toute autre opération planifiée.

  • Ces planifications spécifiques aux rapports sont créées lorsque vous définissez un abonnement ou précisez des propriétés d’exécution de rapport. Le remplissage des informations de planification fait partie de la définition d’un abonnement ou d’un paramètre de propriétés. Pour définir une planification spécifique aux rapports, ouvrez le rapport ou l'abonnement qui l'utilise.

Une planification partagée contient des informations de planifier et de périodicité que n'importe quel nombre de rapports et d'abonnements publiés exécutés sur un serveur de rapports Reporting Services peuvent utiliser. Si de nombreux rapports et abonnements s'exécutent en même temps, vous pouvez créer une planification partagée pour ces travaux. Si vous souhaitez modifier le modèle de périodicité ou la date de fin, vous pouvez effectuer la modification en un seul endroit.

La maintenance des planifications partagées est plus facile à assurer ; par ailleurs, ces dernières vous apportent une plus grande souplesse de gestion des opérations planifiées. Par exemple, vous pouvez suspendre et reprendre des planifications partagées. Trop d’opérations planifiées pourraient être exécutées en même temps. S'ils s'exécutent en même temps, vous pouvez créer plusieurs planifications partagées qui s'exécutent à des moments différents. Ensuite, ajustez les informations de planification jusqu’à ce que la charge de traitement soit égale sur le serveur de rapports.

Opérations réalisables avec les planifications

Vous pouvez utiliser le portail web Reporting Services et SQL Server Management Studio en mode natif et les pages d’administration de site SharePoint en mode SharePoint pour créer et gérer vos planifications. Vous pouvez :

  • Planifier la remise de rapports dans un abonnement standard ou piloté par des données.

  • Planifier l'historique de rapport afin que de nouveaux instantanés soient ajoutés à l'historique de rapport à des fréquences régulières.

  • Planifier le moment auquel les données d'un instantané de rapport sont actualisées.

  • Planifier le moment auquel les données d'un dataset partagé sont actualisées

  • Planifier l'expiration d'un rapport mis en cache ou d'un dataset partagé à une heure prédéfinie pour permettre son actualisation ultérieure.

Vous pouvez créer une planification partagée si vous voulez utiliser les mêmes informations de planification pour de nombreux rapports ou abonnements. Les planifications partagées sont définies séparément, puis référencées dans des rapports, des datasets partagés et des abonnements qui requièrent des informations de planification.

Lorsque vous créez une planification, le rapport enregistre les informations de planification dans la base de données du serveur de rapports ou, pour le mode SharePoint, la base de données d'application de service. Le serveur de rapports crée également un travail de l'Agent SQL Server qui est utilisé pour déclencher la planification. Le traitement des planifications est basé sur l'heure locale du serveur de rapports contenant la planification. Le format horaire se conforme à celui du système d'exploitation Microsoft Windows.

Pour plus d'informations sur la création et la gestion des planifications, consultez Create, Modify, and Delete Schedules.

Remarque

Les opérations de planification ne sont pas disponibles dans toutes les éditions de SQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Éditions et fonctionnalités prises en charge de SQL Server 2022.

Comparez les planifications partagées et spécifiques aux rapports

Les deux types de planifications génèrent le même résultat :

  • Lesplanifications partagées sont des éléments portables à usage général qui contiennent des informations de planification prêtes à l’emploi. Comme les planifications partagées sont des éléments de niveau système, la création d'une planification partagée exige des autorisations de niveau système. C'est pourquoi c'est un administrateur de serveur de rapports ou un gestionnaire de contenu qui crée généralement les planifications partagées disponibles sur votre serveur de rapports. Les planifications partagées sont stockées et gérées sur le serveur de rapports à l’aide du portail web ou des paramètres de site SharePoint.

    Par opposition aux planifications spécifiques que vous définissez par le biais des propriétés de rapport, de dataset partagé ou d'abonnement, les planifications partagées sont plus faciles à gérer et à maintenir pour les raisons suivantes :

    • Les planifications partagées peuvent être managées à partir d’une position centrale. Une position centrale facilite la comparaison des propriétés de planification et l'ajustement des modèles de fréquence et de périodicité si les opérations planifiées s'exécutent trop près les unes des autres ou entrent en conflit avec d'autres processus sur votre serveur.

    • Elles vous permettent de vous adapter rapidement aux modifications de l’environnement informatique. Par exemple, vous disposez d'un jeu de rapports qui s'exécutent à 4 h 00 après l'actualisation d'un entrepôt de données. Si l'opération d'actualisation des données est replanifiée ou différée, vous pouvez facilement gérer cette modification en mettant à jour les informations de planification dans une planification partagée unique.

    • Si vous utilisez uniquement des planifications partagées, vous savez précisément à quel moment les opérations planifiées ont lieu. Cette connaissance permet d'anticiper et de gérer plus facilement les charges du serveur avant que des problèmes de performances ne surviennent. Par exemple, si vous décidez de planifier des sauvegardes d'ordinateurs à une heure spécifique, vous pouvez ajuster les planifications partagées pour qu'elles s'exécutent à des heures différentes.

  • Lesplanifications spécifiques aux rapports sont définies dans le contexte d’un rapport, d’un abonnement ou d’une opération d’exécution de rapport pour déterminer le délai d’expiration d’un cache ou des mises à jour d’instantanés. Ces planifications sont créées en ligne lorsque vous définissez un abonnement ou précisez des propriétés d'exécution de rapport. Vous pouvez créer une planification spécifique aux rapports si une planification partagée ne fournit pas le modèle de fréquence ou de périodicité dont vous avez besoin. Pour empêcher l’exécution d’un rapport, modifiez manuellement la planification spécifique aux rapports. Les utilisateurs individuels peuvent créer des planifications spécifiques aux rapports.

Configurer les sources de données

Avant de pouvoir planifier le traitement de données ou d’abonnements d’un rapport, configurez la source de données de rapport afin d’utiliser les informations d’identification stockées ou le compte de traitement de rapport sans assistance. Si vous utilisez des informations d'identification stockées, vous ne pouvez stocker qu'un seul ensemble d'informations d'identification et elles sont utilisées par tous les utilisateurs qui exécutent le rapport. Les informations d'identification peuvent correspondre à un compte d'utilisateur Windows ou un compte d'utilisateur de base de données.

Le compte de traitement de rapport sans assistance est un compte spécial configuré sur le serveur de rapports. Le serveur de rapports utilise le compte pour se connecter à des ordinateurs distants lorsqu'une opération planifiée nécessite la récupération d'un fichier ou un traitement externe. Si vous configurez ce compte, vous pouvez l'utiliser pour vous connecter aux sources de données externes qui fournissent des données à un rapport.

Pour spécifier les informations d'identification stockées ou le compte de traitement de rapport sans assistance, modifiez les propriétés de la source de données du rapport. Si le rapport utilise une source de données partagée, modifiez plutôt cette dernière.

Stocker les identifiants et gérer les comptes

La façon dont vous travaillez avec une planification dépend des tâches faisant partie de votre attribution de rôle. Si vous utilisez des rôles prédéfinis, les utilisateurs qui sont des gestionnaires de contenu et des administrateurs système peuvent créer et gérer n'importe quelle planification. Si vous utilisez des attributions de rôle par défaut, l'attribution de rôle doit inclure les tâches prenant en charge les opérations planifiées.

Pour faire cette tâche Incluez cette tâche Rôles prédéfinis du mode natif Groupes du mode SharePoint
Créer, modifier ou supprimer des planifications partagées Gérer les planifications partagées Administrateur système Propriétaires
Sélectionner les planifications partagées Afficher les planifications partagées Utilisateur système Membres
Créer, modifier ou supprimer des planifications spécifiques aux rapports dans un abonnement défini par l'utilisateur Gérer les abonnements individuels Navigateur, Générateur de rapports, Mes rapports, Gestionnaire de contenu Visiteurs, membres
Créer, modifier ou supprimer des planifications spécifiques aux rapports pour toutes les autres opérations planifiées Gérer l'historique de rapport, gérer tous les abonnements, gérer les rapports Gestionnaire de contenu Propriétaires

Pour plus d’informations sur la sécurité dans Reporting Services en mode natif, consultez Définitions de rôle – rôles prédéfinis, Octroi d’autorisations sur un serveur de rapports en mode natif et Tâches et autorisations. Pour en savoir plus sur le mode SharePoint, consultez Rôles et tâches dans Reporting Services par rapport aux autorisations aux groupes SharePoint

Fonctionnement du traitement des planifications et des livraisons

Le processeur de planification et de livraison présente les fonctionnalités suivantes :

  • Maintient une file d'attente d'événements et de notifications dans la base de données du serveur de rapports. Dans un déploiement avec montée en puissance parallèle, la file d’attente est partagée par tous les serveurs de rapports de la structure.

  • Appel au composant processeur de rapports pour exécuter les rapports, traiter les abonnements ou supprimer un rapport mis en cache. Le traitement des rapports qui se produit à la suite d'un événement de planification est entièrement effectué en arrière-plan.

  • Appelle l'extension de remise qui est spécifiée dans un abonnement de sorte que le rapport puisse être remis.

D'autres composants et services qui fonctionnent avec le processeur de planification et de livraison gèrent les aspects d'une opération de planification et de livraison. En particulier, le processeur de planification et de livraison s'exécute dans le service Report Server et utilise l'Agent SQL Server comme minuteur pour générer des événements planifiés. La procédure pas à pas suivante explique le fonctionnement des opérations planifiées dans un déploiement de Reporting Services :

  1. Une opération planifiée est définie lorsqu'un utilisateur crée une planification. La planification définit une date et une heure utilisées pour déclencher un abonnement pour la remise de rapports, actualiser un instantané ou faire expirer un cache.

  2. Le serveur de rapports enregistre les informations de planification dans la base de données du serveur de rapports.

  3. Le serveur de rapports crée un travail correspondant dans l'Agent SQL Server qui inclut les informations de planification fournies. Les tâches sont créées via une procédure stockée et utilisent la connexion ouverte existante à la base de données du serveur de rapports.

  4. L'Agent SQL Server exécute le travail aux date et heure spécifiées dans la planification. Le travail crée un événement qui est ajouté à une file d'attente gérée par Reporting Services.

  5. L'événement provoque le traitement d'un rapport ou d'un abonnement. Les événements sont traités lorsqu'ils sont détectés dans la file d'attente, et le rapport est traité ou remis en conséquence.

    Avant que les événements ne soient traités, le processeur de planification et de livraison procède à une étape d'authentification pour vérifier que le propriétaire de l'abonnement est autorisé à consulter le rapport.

Reporting Services gère une file d'attente d'événements pour toutes les opérations planifiées. Il interroge régulièrement la file d'attente pour vérifier si elle contient de nouveaux événements. Par défaut, la file d'attente fait l'objet d'une analyse toutes les 10 secondes. Si vous souhaitez changer cette fréquence, modifiez les paramètres de configuration PollingInterval, IsNotificationServiceet IsEventService dans le fichier RSReportServer.config. Le mode SharePoint utilise également le fichier RSreporserver.config pour ces paramètres et les valeurs s'appliquent à toutes les applications de service Reporting Services . Pour plus d’informations, consultez Fichier de configuration RsReportServer.

Dépendances de serveur

Il est impératif que le service Report Server et l'Agent SQL Server s'exécutent pour que le processeur de planification et de livraison fonctionne. La fonctionnalité de traitement des planifications et des livraisons doit être activée par le biais de la propriété ScheduleEventsAndReportDeliveryEnabled de la facette Configuration de la surface d’exposition pour Reporting Services de la gestion basée sur une stratégie. L'Agent SQL Server et le service Report Server doivent être en cours d'exécution pour que les opérations planifiées se produisent.

Remarque

Vous pouvez utiliser la facette Configuration de la surface d'exposition pour Reporting Services pour interrompre temporairement ou définitivement des opérations planifiées. Bien que vous puissiez créer et déployer des extensions de remise personnalisées, le processeur de planification et de livraison n'est en lui-même pas extensible. Vous ne pouvez pas modifier la manière dont il gère les événements et les notifications. Pour plus d’informations sur la désactivation des caractéristiques, consultez la section Événements planifiés et livraison.

Arrêter l'agent SQL Server

Le traitement des rapports planifiés utilise l'Agent SQL Server par défaut. Si vous arrêtez ce service, aucune nouvelle demande de traitement ne sera ajoutée à la file d’attente à moins d’y être intégrée, par programmation, à l’aide de la méthode FireEvent . Lorsque vous redémarrez le service, les travaux à l’origine des demandes de traitement des rapports reprennent leur cours. Le serveur de rapports n'essaie pas de recréer les tâches de traitement de rapports qui se sont produites dans le passé, alors que l'Agent SQL Server était hors ligne. Si vous arrêtez l'Agent SQL Server l'espace d'une semaine, toutes les opérations planifiées de cette semaine sont perdues.

Notes

La fonction assurée par SQL Server Agent pour Reporting Services peut être remplacée par un code personnalisé qui utilise la méthode FireEvent pour ajouter des événements planifiés dans la file d’attente.

Arrêter le service Report Server

Si vous arrêtez le service Report Server, l'Agent SQL Server continue malgré tout d'ajouter des demandes de traitement de rapport à la file d'attente. Les informations d'état de SQL Server Agent indiquent que les travaux ont été correctement effectués. Toutefois, aucun traitement de rapport n’a été réalisé puisque le service Report Server ne fonctionne pas. Les demandes continuent de s'accumuler dans la file d'attente jusqu'à ce que vous redémarriez le service Report Server. Une fois ce service relancé, toutes les demandes de traitement de rapport présentes dans la file d’attente sont traitées dans l’ordre.