Journal d'exécution du serveur de rapports et vue ExecutionLog3

Le journal d'exécution du serveur de rapports contient des informations sur les rapports qui sont exécutés sur le serveur ou sur plusieurs serveurs regroupés dans un déploiement évolutif. Vous pouvez l'utiliser pour connaître la fréquence de demande d'un rapport, les formats les plus utilisés et le nombre de millisecondes de traitement consacré à chaque phrase du traitement. Le journal contient des informations sur le temps d'exécution de la requête de dataset d'un rapport et le temps de traitement des données. Si vous êtes l'administrateur d'un serveur de rapports, vous pouvez consulter le contenu du journal, identifier les tâches qui s'exécutent lentement et suggérer aux auteurs de rapports des améliorations concernant certaines zones du rapport (dataset ou traitement).

Les serveurs de rapports configurés pour le mode SharePoint peuvent utiliser les journaux ULS SharePoint. Pour plus d'informations, consultez Procédure : activer des événements Reporting Services pour le journal des traces SharePoint (ULS).

Affichage des informations des journaux

Le serveur de rapports consigne les données sur l'exécution des rapports dans une table de base de données interne. Les informations de la table sont disponibles dans les vues SQL.

Le journal d'exécution des rapports est stocké dans la base de données du serveur de rapports, nommée par défaut ReportServer. Les vues SQL suivantes affichent les informations du journal des exécutions. Les vues « 2 » et « 3 » correspondent aux dernières versions et contiennent de nouveaux champs ou des champs avec des noms plus conviviaux que dans les versions précédentes. Les anciennes vues font toujours partie du produit, de sorte que les applications personnalisées qui reposent sur elles ne seront pas impactées. Si vous n'avez créé aucune dépendance sur une ancienne vue, par exemple ExecutionLog, il est recommandé d'utiliser la vue la plus récente, ExecutionLog3.

Paramètres de configuration du journal des exécutions du serveur de rapports

Vous pouvez activer ou désactiver la journalisation dans la page Propriétés du serveur de SQL Server Management Studio.

Par défaut, les entrées de journal sont conservées pendant 60 jours. Au-delà de cette date, les entrées sont supprimées à 02:00 tous les jours. Dans une installation déjà rodée, seuls 60 jours d'informations sont disponibles à tout moment.

  • ExecutionLog3

  • Champ AdditionalInfo

  • ExecutionLog2

  • ExecutionLog

Vous ne pouvez pas définir de limites pour le nombre de lignes ou le type d'entrées enregistrées. Toutefois, vous pouvez créer des rapports qui récupèrent les informations de journalisation dont vous souhaitez assurer le suivi.

Champs du journal (ExecutionLog3)

Cette vue comprend de nouveaux champs dont AdditionalInfo, contenant une structure XML de 1 à plusieurs champs d'informations supplémentaires. Voici un exemple d'instruction Transact SQL permettant de récupérer des lignes à partir de la vue ExecutionLog3. L'exemple présume que la base de données du serveur de rapports se nomme ReportServer.

Use ReportServer
select * from ExecutionLog3 order by TimeStart DESC

Le tableau suivant décrit les données capturées dans le journal d'exécution des rapports.

Colonne

Description

InstanceName

Nom de l'instance du serveur de rapports qui a géré la demande. Si votre environnement comporte plus d'un serveur de rapports, vous pouvez analyser la distribution InstanceName pour contrôler et déterminer si votre programme d'équilibrage de la charge réseau distribue comme il convient les requêtes entre les serveurs de rapports.

ItemPath

Chemin de stockage du rapport ou de l'élément de rapport.

UserName

Identificateur de l'utilisateur.

ExecutionID

RequestType

Valeurs possibles :

  • Interactif

  • Abonnement

L'analyse des données du journal filtrées par RequestType=Subscription et triées par TimeStart permet d'identifier les périodes de forte utilisation de l'abonnement et de modifier la période de traitement d'une partie des abonnements du rapport.

Format

Format de rendu.

Paramètres

Valeurs des paramètres utilisées pour une exécution de rapport.

ItemAction

Valeurs possibles :

  • Render

  • Sort

  • BookMarkNavigation

  • DocumentNavigation

  • GetDocumentMap

  • Findstring

  • Execute

TimeStart

Heures de début et de fin qui indiquent la durée d'un traitement de rapport.

TimeEnd

TimeDataRetrieval

Nombre de millisecondes consacré à la récupération des données, au traitement du rapport et au rendu du rapport.

TimeProcessing

TimeRendering

Source

Source de l'exécution du rapport (1=Direct, 2=Cache, 3=Instantané, 4=Historique).

Status

État (soit rsSuccess, soit un code d'erreur. En cas de plusieurs erreurs, seule la première est enregistrée).

ByAccount

Taille en octets des rapports rendus.

RowCount

Nombre de lignes retournées par les requêtes.

AdditionalInfo

Un conteneur de propriétés XML contient des informations supplémentaires sur l'exécution. Le contenu peut varier pour chaque ligne.

Icône de flèche utilisée avec le lien Retour au débutHaut

AdditionalInfo

Par exemple :

<AdditionalInfo>
  <ProcessingEngine>2</ProcessingEngine>
  <ScalabilityTime>
    <Pagination>0</Pagination>
    <Processing>0</Processing>
  </ScalabilityTime>
  <EstimatedMemoryUsageKB>
    <Pagination>4</Pagination>
    <Processing>18</Processing>
  </EstimatedMemoryUsageKB>
  <DataExtension>
    <SQL>1</SQL>
  </DataExtension>
</AdditionalInfo>

Le tableau suivant décrit certaines valeurs affichées dans la table AdditionalInfo :

Propriété

Remarques

ProcessingEngine

1=SQL Server 2005, 2=Le nouveau moteur de traitement à la demande. Si la plupart de vos rapports affichent toujours la valeur 1, vous pouvez essayer de les reconcevoir afin qu'ils utilisent le nouveau moteur de traitement à la demande plus performant.

ScalabilityTime

Nombre de millisecondes consacré à l'exécution des opérations d'échelle dans le moteur de traitement. La valeur 0 indique qu'il n'y a pas de temps supplémentaire consacré aux opérations d'échelle et indique aussi que la requête n'a pas entraîné de pression sur la mémoire.

EstimatedMemoryUsageKB

Estimation du pic de mémoire, en kilo-octets, consommé par chaque composant au cours d'une requête donnée.

DataExtension

Types d'extension de données ou de sources de données utilisés dans le rapport. Le nombre correspond au nombre d'occurrences d'une source de données spécifique.

Icône de flèche utilisée avec le lien Retour au débutHaut

Champs du journal (ExecutionLog2)

Cette vue comprend de nouveaux champs dont AdditionalInfo, contenant une structure XML de 1 à plusieurs champs d'informations supplémentaires. Voici un exemple d'instruction Transact SQL permettant de récupérer des lignes à partir de la vue ExecutionLog2. L'exemple présume que la base de données du serveur de rapports se nomme ReportServer.

Use ReportServer
select * from ExecutionLog2 order by TimeStart DESC

Le tableau suivant décrit les données capturées dans le journal d'exécution des rapports.

Colonne

Description

InstanceName

Nom de l'instance du serveur de rapports qui a géré la demande.

ReportPath

Structure du chemin d'accès au rapport. Par exemple, un rapport nommé « test » dans le dossier racine du Gestionnaire de rapports, aura une structure de chemin « /test ».

Un rapport nommé « test » enregistré dans le dossier « samples » du Gestionnaire de rapports, aura une structure de chemin « /Samples/test ».

UserName

Identificateur de l'utilisateur.

ExecutionID

RequestType

Type de demande (utilisateur ou système).

Format

Format de rendu.

Paramètres

Valeurs des paramètres utilisées pour une exécution de rapport.

ReportAction

Valeurs possibles : Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring

TimeStart

Heures de début et de fin qui indiquent la durée d'un traitement de rapport.

TimeEnd

TimeDataRetrieval

Nombre de millisecondes consacré à la récupération des données, au traitement du rapport et au rendu du rapport.

TimeProcessing

TimeRendering

Source

Source de l'exécution du rapport (1=Direct, 2=Cache, 3=Instantané, 4=Historique).

Status

État (soit rsSuccess, soit un code d'erreur. En cas de plusieurs erreurs, seule la première est enregistrée).

ByAccount

Taille en octets des rapports rendus.

RowCount

Nombre de lignes retournées par les requêtes.

AdditionalInfo

Un conteneur de propriétés XML contient des informations supplémentaires sur l'exécution.

Icône de flèche utilisée avec le lien Retour au débutHaut

Champs du journal (ExecutionLog)

Voici un exemple d'instruction Transact SQL permettant de récupérer des lignes à partir de la vue ExecutionLog. L'exemple présume que la base de données du serveur de rapports se nomme ReportServer.

Use ReportServer
select * from ExecutionLog order by TimeStart DESC

Le tableau suivant décrit les données capturées dans le journal d'exécution des rapports.

Colonne

Description

InstanceName

Nom de l'instance du serveur de rapports qui a géré la demande.

ReportID

Identificateur du rapport.

UserName

Identificateur de l'utilisateur.

RequestType

Valeurs possibles :

True = Une requête d'abonnement

False= Une requête interactive

Format

Format de rendu.

Paramètres

Valeurs des paramètres utilisées pour une exécution de rapport.

TimeStart

Heures de début et de fin qui indiquent la durée d'un traitement de rapport.

TimeEnd

TimeDataRetrieval

Nombre de millisecondes consacré à la récupération des données, au traitement du rapport et au rendu du rapport.

TimeProcessing

TimeRendering

Source

Source de l'exécution d'un rapport Valeurs possibles : (1=Direct, 2=Cache, 3=Instantané, 4=Historique, 5=Adhoc, 6=Session, 7=RDCE).

Status

Valeurs possibles : rsSuccess, rsProcessingAborted ou un code d'erreur. Si plusieurs erreurs se produisent, seule la première erreur est enregistrée.

ByAccount

Taille en octets des rapports rendus.

RowCount

Nombre de lignes retournées par les requêtes.

Icône de flèche utilisée avec le lien Retour au débutHaut

Historique des modifications

Historique des modifications :

Date

Modification

Septembre 2011

Ajout d'informations sur deux nouvelles vues et la syntaxe simple pour récupérer des lignes à partir des vues.