Gestion d'un processus en cours

SQL Server Reporting Services analyse l'état des travaux qui s'exécutent sur le serveur de rapports. À intervalles réguliers, le serveur de rapports procède à une analyse des travaux en cours et transmet des informations d'état à la base de données du serveur de rapports. Un travail est en cours si l'un des processus suivants est en cours : exécution de la requête sur un serveur de base de données distant ou local, traitement des rapports et rendu de rapport.

Vous pouvez gérer à la fois les travaux utilisateur et les travaux système. Les travaux utilisateur sont lancés par un utilisateur individuel ou par un abonnement. Ils comprennent l'exécution d'un rapport à la demande, la demande d'instantané d'un historique de rapport, la création manuelle d'un instantané de rapport et le traitement d'un abonnement standard. Les travaux système sont lancés par le serveur de rapports. Ils comprennent des instantanés d'exécution de rapport planifiés, des instantanés d'historique de rapport planifiés et des abonnements pilotés par les données.

La durée et l'utilisation des ressources allouées au traitement d'un rapport varient considérablement en fonction du rapport, de la complexité de la requête, de la quantité de données et du format de rendu spécifié pour le rapport. L'exécution des rapports, dont les requêtes à une source de données locale sont simples, n'est qu'une question de millisecondes et ne nécessite ni gestion ni réglage particulier. En revanche, un rapport volumineux dont le rendu est effectué au format PDF ou Excel requiert une durée de traitement plus ou moins importante selon les ressources matérielles, les options de remise et éventuellement l'exécution concomitante de divers autres processus. Sur un serveur de rapports, la plupart des processus caractérisés par une exécution longue sont des opérations de rendu de rapport et des processus en attente d'une fin de traitement de requête. Si nécessaire, vous pouvez de temps à autre annuler un processus de rapport pour mettre l'ordinateur en mode hors connexion ou suspendre un travail dont l'exécution est en cours et tarde à s'achever.

Affichage et annulation des travaux

Vous pouvez utiliser SQL Server Management Studio pour afficher ou annuler un travail qui est en cours d'exécution sur le serveur de rapports. Vous devez actualiser la page afin de récupérer la liste des travaux en cours d'exécution ou d'obtenir l'état mis à jour des travaux à partir de la base de données du serveur de rapports. Lorsque vous vous connectez à un serveur de rapports dans Management Studio, vous pouvez ouvrir un dossier Jobs pour consulter la liste des rapports en cours de traitement sur le serveur de rapports. Les informations d'état de chaque travail sont affichées dans la page Propriétés du travail. Vous pouvez afficher les informations d'état de tous les travaux en ouvrant la boîte de dialogue Annuler les travaux du serveur de rapports.

Les processus suivants peuvent être annulés :

  • Traitement des rapports à la demande.

  • Traitement des rapports planifié.

  • Abonnements standard détenus par des utilisateurs individuels.

L'annulation d'un travail supprime uniquement les processus qui s'exécutent sur le serveur de rapports. Le serveur de rapports ne gère pas le traitement des données sur d'autres ordinateurs ; par conséquent, vous devez annuler manuellement les processus de requête qui se retrouvent par la suite orphelins sur d'autres systèmes. Envisagez la possibilité d'affecter des valeurs au délai d'expiration des requêtes afin de clore automatiquement les requêtes dont l'exécution est trop longue. Pour plus d'informations, consultez Définition des valeurs de délai d'attente pour le traitement d'un rapport et d'un dataset partagé (SSRS). Pour plus d'informations sur l'interruption momentanée d'un rapport, consultez Suspension du traitement des rapports et des abonnements.

Notes

Dans de rares cas, vous serez peut-être amené à redémarrer le serveur pour annuler un processus. Pour plus d'informations, consultez Démarrage et arrêt du service Report Server.

Vous ne pouvez pas utiliser Management Studio pour répertorier ou annuler la génération de modèle, le traitement de modèle ou les abonnements pilotés par les données. Reporting Services n'offre aucun moyen d'annuler le traitement ou la génération de modèle. Toutefois, vous pouvez annuler les abonnements pilotés par les données à l'aide des instructions fournies dans cette rubrique.

Procédure d'annulation du traitement d'un rapport ou d'un abonnement

  1. Dans Management Studio, connectez-vous au serveur de rapports. Pour obtenir des instructions, consultez Procédure : se connecter à un serveur de rapports dans Management Studio.

  2. Ouvrez le dossier Jobs.

  3. Cliquez avec le bouton droit sur le rapport, puis cliquez sur Annuler les travaux.

Procédure d'annulation d'un abonnement piloté par les données

  1. Ouvrez le fichier RSReportServer.config dans un éditeur de texte.

  2. Recherchez IsNotificationService.

  3. Affectez-lui la valeur False.

  4. Enregistrez le fichier.

  5. Dans le Gestionnaire de rapports, supprimez l'abonnement piloté par les données sous l'onglet Abonnements du rapport ou dans Mes abonnements.

  6. Après avoir supprimé l'abonnement, dans le fichier RSReportServer.config, recherchez IsNotificationService et affectez-lui la valeur True.

  7. Enregistrez le fichier.

Configuration des paramètres de fréquence pour la récupération de l'état des travaux

Un travail en cours d'exécution est stocké dans la base de données temporaire du serveur de rapports. Vous pouvez modifier les paramètres de configuration dans le fichier RSReportServer.config pour contrôler la fréquence d'analyse du serveur de rapports sur les travaux en cours et le laps de temps à la suite duquel l'état d'un travail passe de « nouveau » à « en cours d'exécution ». Le paramètre RunningRequestsDbCycle spécifie la périodicité suivant laquelle le serveur de rapports procède à l'analyse des processus en cours d'exécution. Par défaut, les informations d'état sont enregistrées toutes les 60 secondes. Le paramètre RunningRequestsAge précise la durée suite à laquelle l'état d'un nouveau travail évolue vers l'état d'exécution en cours.

Gestion des travaux par programme

Vous pouvez gérer des travaux par programme ou au moyen d'un script. Pour plus d'informations, consultez ListJobs, CancelJob.