Abonnements et livraison (Reporting Services)

Un abonnement Reporting Services est une configuration qui fournit un rapport à un moment précis ou en réponse à un événement. Il est également au format de fichier que vous spécifiez. Par exemple, tous les mercredis, enregistrer le rapport MonthlySales.rdl au format de document Microsoft Word sur un partage de fichiers. Vous pouvez utiliser des abonnements pour planifier et automatiser la remise d'un rapport avec un ensemble de valeurs de paramètres de rapport spécifique.

Vous pouvez créer plusieurs abonnements pour un seul rapport afin de varier les options d’abonnement. Par exemple, vous pouvez spécifier différentes valeurs de paramètre pour produire trois versions d’un rapport. Ces rapports sont des rapports tels qu’un rapport commercial de région occidentale, des ventes de régions orientales et toutes les ventes.

Diagramme d’un exemple de flux d’abonnement SSRS.

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

Dans cette rubrique :

Sujets de cette section :

Scénarios d’abonnement et de remise

Pour chaque abonnement, l'extension de remise que vous choisissez détermine les options de livraison que vous pouvez configurer. Une extension de remise est un module qui prend en charge un mode quelconque de distribution. Reporting Services inclut plusieurs extensions de remise livraison et l'extension de remise peut être disponible auprès de fournisseurs tiers.

Si vous êtes développeur, vous pouvez créer des extensions de diffusion personnalisées pour prendre en charge d'autres scénarios. Pour plus d’informations, consultez Implémentation d’une extension de remise.

Le tableau suivant décrit les scénarios d'abonnement Reporting Services courants.

Scénario Description
Rapports par courrier électronique Vous pouvez envoyer des rapports par courrier électronique aux utilisateurs et aux groupes. Créez un abonnement et spécifiez un alias de groupe ou un alias de messagerie pour recevoir le rapport que vous souhaitez distribuer. Vous pouvez faire en sorte que Reporting Services détermine les données d'abonnement au moment de l'exécution. Si vous souhaitez envoyer le même rapport à un groupe dont la liste des membres change, vous pouvez utiliser une requête pour dériver la liste des abonnements au moment de l'exécution.
Afficher des rapports hors connexion Les utilisateurs peuvent sélectionner l'un des formats suivants pour la sortie d'abonnement :

- Fichier XML avec données de rapport
- CSV (délimité par des virgules)
- PDF
- MHTML (archive web)
- Microsoft Excel
- Fichier TIFF
- Microsoft Word

Les rapports que vous souhaitez archiver peuvent être enregistrés directement dans un dossier partagé que vous sauvegardez selon une planification nocturne. Les rapports volumineux trop longs à charger dans un navigateur peuvent être enregistrés dans un dossier partagé sous un format pouvant être affiché dans une application bureautique.
Précharger le cache Si vous disposez de plusieurs instances d'un rapport paramétré ou d'un grand nombre d'utilisateurs de rapports qui consultent les rapports, vous pouvez précharger les rapports dans le cache. Le préchargement réduit le temps de traitement nécessaire pour afficher le rapport.
Rapports pilotés par les données Utilisez les abonnements pilotés par les données pour personnaliser le résultat d'un rapport, les options de remise, ainsi que les paramètres d'un rapport au moment de l'exécution. L'abonnement utilise une requête pour obtenir les valeurs d'entrée d'une source de données au moment de l'exécution. Vous pouvez utiliser les abonnements pilotés par les données pour effectuer une opération de publipostage qui envoie un rapport à une liste d'abonnés déterminée au moment où l'abonnement est traité.

Abonnements standard et pilotés par les données

Reporting Services prend en charge deux types d’abonnements : les abonnements standard et les abonnements pilotés par les données. Les utilisateurs individuels créent et gèrent des abonnements standard. Un abonnement standard se compose de valeurs statiques qui ne peuvent pas varier pendant le traitement de l'abonnement. Pour chaque abonnement standard, il existe exactement un ensemble d'options de présentation de rapport, d'options de livraison et de paramètres de rapport.

Les abonnements pilotés par les données obtiennent les informations d'abonnement au moment de l'exécution en interrogeant une source de données externe qui fournit les valeurs utilisées pour spécifier un destinataire, des paramètres de rapport ou un format d'application. Vous pouvez utiliser des abonnements pilotés par les données si vous disposez d'une grande liste de destinataires ou si vous souhaitez faire varier la sortie du rapport pour chaque destinataire. Pour cela, vous devez savoir créer des requêtes et comprendre comment les paramètres sont utilisés. En règle générale, les administrateurs de serveur de rapports se chargent de créer et de gérer ces abonnements. Pour plus d’informations, consultez les articles suivants :

Exigences en matière d’abonnement

Avant de pouvoir créer un abonnement à un rapport, les conditions préalables requises suivantes doivent être remplies :

Condition requise Description
Autorisations Vous devez avoir accès au rapport. Avant de pouvoir vous abonner à un rapport, vous devez être autorisé à l'afficher.

Pour les serveurs de rapports en mode natif, les attributions de rôles suivantes affectent les abonnements :

- La tâche « Gérer les abonnements individuels » permet aux utilisateurs de créer, modifier et supprimer des abonnements pour un rapport spécifique. Dans les rôles prédéfinis, cette tâche fait partie des rôles Navigateur et Générateur de rapports. Les attributions de rôles qui incluent cette tâche permettent à un utilisateur de gérer uniquement les abonnements qu'il crée.
- La tâche « Gérer tous les abonnements » permet aux utilisateurs d’accéder à tous les abonnements et de les modifier. Cette tâche est obligatoire pour créer des abonnements pilotés par les données. Dans les rôles prédéfinis, seul le rôle Gestionnaire de contenu inclut cette tâche.
Informations d'identification stockées Pour créer un abonnement, il faut que le rapport utilise des informations d'identification stockées ou qu'il n'en utilise pas du tout pour être en mesure d'extraire les données au moment de l'exécution. Vous ne pouvez pas vous abonner à un rapport configuré pour utiliser les informations d'identification empruntées ou déléguées à partir de l'utilisateur actuel pour vous connecter à une source de données externe. Les informations d'identification stockées peuvent être un compte Windows ou un compte d'utilisateur de base de données. Pour plus d’informations, consultez Spécifier des informations d’identification et de connexion pour les sources de données de rapport

Vous devez être autorisé à afficher le rapport et à créer des abonnements individuels. L'optionÉvénements programmés et remise du rapport doit être activée sur le serveur de rapports. Pour plus d’informations, consultez Créer et gérer des abonnements pour les serveurs de rapports en mode natif.
Valeurs dépendantes de l'utilisateur dans un rapport Pour les abonnements standard uniquement, vous pouvez créer des abonnements à des rapports qui intègrent des informations de compte d'utilisateur dans un filtre ou sous forme de texte qui apparaît dans le rapport. Dans le rapport, le nom de compte d’utilisateur est spécifié par le biais d’une expression User!UserID qui correspond à l’utilisateur actuel. Lorsque vous créez un abonnement, l'utilisateur qui crée l'abonnement est considéré comme l'utilisateur actuel.
Aucune sécurité de l'élément de modèle Vous ne pouvez pas vous abonner à un rapport du Générateur de rapports qui utilise un modèle comme source de données si le modèle contient des paramètres de sécurité de l'élément de modèle. Seuls les rapports qui utilisent la sécurité de l'élément de modèle sont inclus dans cette restriction.
Valeurs de paramètres Si le rapport utilise des paramètres, une valeur de paramètre doit être spécifiée avec le rapport lui-même ou dans l'abonnement que vous définissez. Si vous définissez des valeurs par défaut dans le rapport, vous pouvez définir la valeur du paramètre pour utiliser la valeur par défaut.

Extensions de remise

Les abonnements sont traités sur le serveur de rapports et sont distribués via les extensions de remise déployées sur le serveur. Par défaut, vous pouvez créer des abonnements qui envoient des rapports vers un dossier partagé ou une adresse de messagerie. Si le serveur de rapports est configuré en mode intégré SharePoint, vous pouvez également envoyer un rapport vers une bibliothèque SharePoint.

Lorsqu'un utilisateur crée un abonnement, il peut choisir l'une des extensions de remise disponibles pour déterminer la manière dont le rapport est livré. Reporting Services comprend les extensions de remise suivantes.

Extension de remise Description
Partage de fichiers Windows Remet un rapport en tant que fichier d'application statique dans un dossier partagé accessible sur le réseau.
Messagerie électronique Remet une notification ou un rapport en tant que pièce jointe de message électronique ou en tant qu'URL.
Bibliothèque SharePoint Remet un rapport en tant que fichier d'application statique dans une bibliothèque SharePoint accessible à partir d'un site SharePoint. Le site doit être intégré à un serveur de rapports qui s'exécute en mode intégré SharePoint.
Null Le fournisseur de livraison null est une extension de remise hautement spécialisée utilisée pour précharger un cache avec des rapports paramétrés prêts à afficher. Cette méthode n'est pas disponible pour les utilisateurs dans les abonnements individuels. Elle est utilisée par les administrateurs dans les abonnements pilotés par les données pour améliorer les performances d'un serveur de rapports en préchargeant le cache.

Notes

La remise de rapports est un module extensible de l'architecture de Reporting Services . D'autres fournisseurs peuvent créer des extensions de remise personnalisée pour acheminer les rapports vers des emplacements ou des périphériques différents. Pour plus d'informations sur les extensions de remise personnalisées, consultez Implémentation d’une extension de remise.

Composants d’un abonnement

Une définition d'abonnement se compose des éléments suivants :

  • Pointeur vers un rapport capable de s'exécuter sans assistance (c'est-à-dire un rapport qui utilise des informations d'identification stockées ou qui n'utilise aucune information d'identification).

  • Mode de remise (par messagerie électronique, par exemple) et paramètres correspondants (adresse de messagerie, par exemple).

  • Extension de rendu pour présenter le rapport dans un format spécifique.

  • Conditions du traitement de l'abonnement, exprimé comme un événement.

    Généralement, les conditions d'exécution d'un rapport sont basées sur des critères horaires. Par exemple, vous souhaiterez peut-être générer un rapport particulier tous les mardis à 15h00. UTC. Toutefois, si le rapport s'exécute en tant qu'instantané, vous pouvez spécifier que l'abonnement s'exécute chaque fois que l'instantané est actualisé.

  • Les paramètres utilisés lors de l'exécution du rapport.

    Les paramètres sont facultatifs et ne sont spécifiés que pour les rapports acceptant des valeurs de paramètre. Étant donné qu'un abonnement appartient généralement à un utilisateur, les valeurs de paramètre spécifiées varient d'un abonnement à un autre. Par exemple, les directeurs commerciaux de différentes divisions utilisent des paramètres qui renvoient des données pour leur division. Tous les paramètres doivent avoir une valeur explicitement définie ou une valeur par défaut valide.

Les informations d'abonnement sont stockées individuellement avec les rapports dans une base de données du serveur de rapports. Vous ne pouvez pas gérer les abonnements séparément du rapport auquel ils sont associés. Les abonnements ne peuvent pas être étendus pour inclure des descriptions, d'autres textes personnalisés ou d'autres éléments. Ils ne peuvent contenir que les éléments indiqués ci-dessus.

Traitement des abonnements

Reporting Services comprend un processeur de planification et de livraison qui permet de planifier les rapports et d'assurer leur remise aux utilisateurs. Le serveur de rapports répond aux événements qu'il analyse en permanence. Lorsqu'un événement qui se produit correspond aux conditions définies d'un abonnement, le serveur de rapports lit l'abonnement afin de déterminer comment traiter et remettre le rapport. Le serveur de rapports demande l'extension de remise qui est spécifiée dans l'abonnement. Lorsque l'extension de remise s'exécute, le serveur de rapports extrait les informations de remise de l'abonnement et les transmet à l'extension de remise pour le traitement.

L'extension de remise effectue le rendu du rapport dans le format défini dans l'abonnement, puis remet le rapport ou la notification au destinataire spécifié. Si un rapport ne peut pas être remis, une entrée est consignée dans le fichier journal du serveur de rapports. Si vous souhaitez prendre en charge les opérations de nouvelle tentative, vous pouvez configurer le serveur de rapports pour qu'il réessaye la remise si la première tentative échoue.

Traitement d’un abonnement standard

Les abonnements standard produisent une instance de rapport. Le rapport est remis dans un dossier partagé unique ou aux adresses de messagerie spécifiées dans l'abonnement. La mise en page et les données ne varient pas. Si le rapport utilise des paramètres, un abonnement standard est traité avec une seule valeur pour chaque paramètre du rapport.

Traiter un abonnement pilotés par les données

Les abonnements pilotés par les données peuvent produire de nombreuses instances de rapport remises à de multiples destinataires. La mise en page du rapport ne varie pas, mais les données que le rapport contient peuvent changer si des valeurs de paramètres sont transmises d'un ensemble de résultats d'abonnés. Options de livraison qui affectent la façon dont le rapport est rendu et si le rapport est joint ou lié à l'e-mail. Ces options peuvent également varier entre l’abonné et l’abonné lorsque les valeurs sont transmises à partir de l’ensemble de lignes.

Les abonnements pilotés par les données peuvent produire un grand nombre de remises. Le serveur de rapports crée une remise pour chaque ligne de l'ensemble de lignes retourné par la requête d'abonnement.

Caractéristiques de la remise des rapports

Les rapports qui sont remis par abonnements standard sont généralement rendus sous forme de rapports statiques. Ces rapports sont soit basés sur l'instantané d'exécution de rapport le plus récent, soit générés sous forme de rapport statique pour terminer une livraison. Si vous choisissez l'option Inclure un lien pour un abonnement à un rapport exécuté à la demande, le serveur de rapports exécute le rapport lorsque vous cliquez sur le lien hypertexte.

Remarque

Les rapports qui sont remis via une URL restent connectés au serveur de rapports et peuvent être mis à jour ou supprimés entre deux consultations. Les options de remise que vous choisissez pour votre abonnement déterminent si le rapport est remis sous forme d'URL, incorporé dans le corps du message électronique ou envoyé sous forme de pièce jointe.

Les rapports qui sont remis via un abonnement piloté par les données peuvent être régénérés lors du traitement de l'abonnement. Le serveur de rapports ne verrouille pas une instance spécifique d'un rapport ou de son dataset pour exécuter un abonnement piloté par les données. Si l'abonnement utilise différentes valeurs de paramètres pour différents abonnés, le serveur de rapports régénère le rapport de manière à produire le résultat requis. Les données sous-jacentes peuvent être mises à jour après la création et la remise de la première copie du rapport. Lorsque vous mettez à jour le rapport, les utilisateurs qui obtiennent des rapports plus loin dans le processus peuvent voir des données basées sur différents jeux de résultats. Vous pouvez utiliser un rapport qui s'exécute comme un instantané pour garantir que la même instance de rapport sera remise à tous les abonnés. Toutefois, si une mise à jour planifiée de l'instantané se produit lors du traitement de l'abonnement, les utilisateurs peuvent obtenir des données différentes dans leurs rapports.

Déclencher le traitement de l'abonnement

Le serveur de rapports utilise deux genres d'événements pour déclencher le traitement des abonnements : un événement piloté par le temps, spécifié dans une planification, ou un événement de mise à jour d'instantanés.

Un déclencheur piloté par le temps utilise une planification spécifique aux rapports ou une planification partagée pour indiquer le moment exact où l'abonnement doit s'exécuter. Pour les rapports mis en cache et les rapports à la demande, les planifications demeurent les seules possibilités de déclenchement.

Un événement de mise à jour d'instantanés utilise la mise à jour planifiée d'un instantané de rapport pour déclencher un abonnement. Vous pouvez définir un abonnement qui se déclenche chaque fois que le rapport est mis à jour avec de nouvelles données. L'abonnement est déclenché en fonction des propriétés d'exécution de rapport définies sur le rapport.

Contrôle par programmation des abonnements

Le modèle d’objet Reporting Services vous permet d’effectuer un audit et de contrôler par programmation les abonnements et leur traitement. Consultez les articles suivants pour obtenir des exemples et pour commencer :