Partager via


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 s’exécutent sur le serveur ou sur plusieurs serveurs dans un déploiement avec montée en puissance parallèle en mode natif ou une batterie de serveurs SharePoint. Vous pouvez utiliser le journal d’exécution du rapport pour déterminer la fréquence à laquelle un rapport est demandé, quels formats de sortie sont utilisés le plus et combien de millisecondes de temps de traitement sont passées sur chaque phase de traitement. Le journal contient des informations sur la durée passée à exécuter la requête de jeu de données d’un rapport et le temps passé à traiter les données. Si vous êtes administrateur du serveur de rapports, vous pouvez consulter les informations du journal et identifier les tâches longues et faire des suggestions aux auteurs de rapports sur les domaines du rapport (jeu de données ou traitement) qu’ils peuvent améliorer.

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

Affichage des informations de journal

L’exécution du serveur de rapports journalise les données relatives à l’exécution du rapport dans une table de base de données interne. Les informations de la table sont fournies par les vues de SQL Server.

Le journal d’exécution du rapport est stocké dans la base de données du serveur de rapports qui est nommé ReportServer par défaut. Les vues SQL fournissent les informations associées au journal d'exécution. Les vues « 2 » et « 3 » ont été ajoutées dans des versions plus récentes et contiennent de nouveaux champs ou contiennent des champs avec des noms plus conviviaux que les versions précédentes. Les vues plus anciennes restent dans le produit afin que les applications personnalisées qui dépendent d’elles ne soient pas affectées. Si vous n’avez pas de dépendance vis-à-vis d’une vue plus ancienne, par exemple ExecutionLog, il est recommandé d’utiliser la vue la plus récente, ExecutionLog3.

Dans cette rubrique :

Paramètres de configuration d’un serveur de rapports en mode SharePoint

Vous pouvez activer ou désactiver la journalisation de l'exécution des rapports dans les paramètres système d'une application de service Reporting Services .

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. Sur une installation mature, seules 60 jours d’informations seront disponibles à tout moment.

Vous ne pouvez pas définir de limites sur le nombre de lignes ou sur le type d’entrées journalisées.

Pour activer la journalisation d’exécution :

  1. À partir de l’Administration centrale de SharePoint, cliquez sur Gérer les applications de service dans le groupe Gestion des applications.

  2. Cliquez sur le nom de l’application de service Reporting Services que vous souhaitez configurer.

  3. Cliquez sur Paramètres système.

  4. Sélectionnez Activer la journalisation des exécutions dans la section Enregistrement .

  5. Cliquez sur OK.

Pour activer la journalisation détaillée :

Vous devez activer la journalisation comme décrit dans les étapes précédentes, puis effectuer les opérations suivantes :

  1. Dans la page Paramètres système de votre application de service Reporting Services , recherchez la section Défini par l’utilisateur .

  2. Modifiez ExecutionLogLevel en verbose. Ce champ est un champ d'entrée de texte et les deux valeurs possibles sont verbose et normal.

Paramètres de configuration d’un serveur de rapports en mode natif

Vous pouvez activer ou désactiver la journalisation de l'exécution de rapports dans la page Propriétés du serveur de SQL Server Management Studio. EnableExecutionLogging est une propriété avancée.

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. Sur une installation mature, seules 60 jours d’informations seront disponibles à tout moment.

Vous ne pouvez pas définir de limites sur le nombre de lignes ou sur le type d’entrées journalisées.

Pour activer la journalisation d’exécution :

  1. Ouvrez SQL Server Management Studio avec des privilèges d'administrateur. Par exemple, cliquez avec le bouton droit sur l’icône Management Studio, puis cliquez sur « Exécuter en tant qu’administrateur ».

  2. Connectez-vous au serveur de rapports souhaité.

  3. Cliquez avec le bouton droit sur le nom du serveur, puis cliquez sur Propriétés. Si l’option Propriétés est désactivée, vérifiez que vous avez exécuté SQL Server Management Studio avec des privilèges d’administration.

  4. Cliquez sur la page Journalisation .

  5. Sélectionnez Activer la journalisation de l'exécution des rapports.

Pour activer la journalisation détaillée :

Vous devez activer la journalisation comme décrit dans les étapes précédentes, puis effectuer les opérations suivantes :

  1. Dans la boîte de dialogue Propriétés du serveur , cliquez sur la page Avancé .

  2. Dans la section Défini par l’utilisateur , modifiez ExecutionLogLevel sur verbose. Ce champ est un champ d'entrée de texte et les deux valeurs possibles sont verbose et normal.

Champs de journal (ExecutionLog3)

Cette vue a ajouté un nœud de diagnostic de performances supplémentaire à l’intérieur de la colonne AdditionalInfo basée sur XML. La colonne AdditionalInfo contient une structure XML de 1 à de nombreux champs d’informations supplémentaires. Voici un exemple d’instruction Transact SQL pour récupérer des lignes de la vue ExecutionLog3. L’exemple suppose que la base de données du serveur de rapports est nommée 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 du rapport

Colonne Descriptif
Nom de l'instance Nom de l'instance du serveur de rapports qui a géré la demande. Si votre environnement inclut plusieurs serveurs de rapports, vous pouvez analyser la distribution InstanceName pour surveiller et déterminer si votre programme d'équilibrage de la charge réseau distribue les requêtes entre les différents serveurs de rapports comme prévu.
Chemin de l'élément Chemin de stockage d'un rapport ou d'un élément de rapport
Nom d’utilisateur Identificateur de l’utilisateur.
ID d'Exécution Identificateur interne associé à une requête. Les demandes sur les mêmes sessions utilisateur partagent le même ID d’exécution.
RequestType Valeurs possibles :
Interactif
Abonnement



L’analyse des données de journal filtrées par RequestType=Subscription et triées par TimeStart peut révéler des périodes d’utilisation intensive des abonnements, et vous pourriez envisager de modifier certains abonnements de rapport à un autre moment.
Format Format de rendu.
Paramètres Valeurs des paramètres utilisées pour une exécution de rapport.
ActionÉlément Valeurs possibles :

Rendre

Tri

BookMarkNavigation

DocumentNavigation

GetDocumentMap

Chaîne de recherche

Exécuter

RenderEdit
TimeStart Heures de début et de fin qui indiquent la durée d'un traitement de rapport.
Fin du Temps
RécupérationDesDonnéesTemporelles Nombre de millisecondes passées pour la récupération des données.
TimeProcessing Nombre de millisecondes passées pour le traitement du rapport.
Rendu Temporel Nombre de millisecondes passées pour le rendu du rapport.
Source Source d'exécution du rapport. Valeurs possibles :

Vivre

Cache : indique une exécution mise en cache, par exemple, les requêtes de jeu de données ne sont pas exécutées en direct.

Instantané

Historique

AdHoc : indique un modèle de rapport généré dynamiquement en fonction du rapport ou un rapport du Générateur de rapports qui est aperçu sur un client utilisant le serveur de rapports pour le traitement et le rendu.

Session : indique une demande de suivi dans une session déjà établie. Par exemple, la demande initiale consiste à afficher la page 1 et la demande de suivi consiste à exporter vers Excel avec l’état de session actuel.

Rdce : indique une extension de personnalisation de définition de rapport. Une extension personnalisée RDCE peut personnaliser dynamiquement une définition de rapport avant son passage au moteur de traitement lors de l’exécution du rapport.
Statut État (soit rsSuccess, soit un code d'erreur. En cas de plusieurs erreurs, seule la première est enregistrée).
ByteCount Taille en octets des rapports rendus.
NombreDeLignes Nombre de lignes renvoyées par les requêtes.
Informations supplémentaires Conteneur des propriétés XML contenant des informations supplémentaires sur l'exécution. Le contenu peut être différent pour chaque ligne.

Champ AdditionalInfo

Le champ AdditionalInfo est un conteneur de propriétés XML ou une structure contenant des informations supplémentaires sur l’exécution. Le contenu peut être différent pour chaque ligne dans le journal.

Les tableaux suivants sont des exemples du contenu du champ AddtionalInfo pour la journalisation standard et détaillée :

Exemple de journalisation standard d’AddtionalInfo

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>147</ConnectionOpenTime>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>642</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>63</ExecuteReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>157</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>60</ExecuteReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>  
  

Exemple de journalisation prolixe de InformationsSupplémentaires

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>127</ConnectionOpenTime>  
      <DataSource>  
        <Name>DataSource1</Name>  
        <DataExtension>SQL</DataExtension>  
      </DataSource>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>33</ExecuteReaderTime>  
          <DataReaderMappingTime>30</DataReaderMappingTime>  
          <DisposeDataReaderTime>1</DisposeDataReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>1</ExecuteReaderTime>  
          <DataReaderMappingTime>0</DataReaderMappingTime>  
          <DisposeDataReaderTime>0</DisposeDataReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>  
  

Voici quelques-unes des propriétés que vous verrez dans le champ AdditionalInfo :

  • ProcessingEngine : 1=SQL Server 2005, 2=Le nouveau moteur de traitement à la demande. Si la majorité de vos rapports affichent toujours la valeur 1, vous pouvez examiner comment les reconcevoir afin qu’ils utilisent le moteur de traitement à la demande plus récent et plus efficace.

    <ProcessingEngine>2</ProcessingEngine>

  • ScalabilityTime : nombre de millisecondes passées à effectuer des opérations liées à l’échelle dans le moteur de traitement. La valeur 0 indique qu’aucun temps supplémentaire n’a été consacré aux opérations de mise à l’échelle et qu’un 0 indique également que la requête n’était pas sous pression mémoire.

    <ScalabilityTime>  
        <Processing>0</Processing>  
    </ScalabilityTime>  
    
  • EstimateMemoryUsageKB : estimation de la quantité maximale de mémoire, en kilo-octets, consommée par chaque composant pendant une demande particulière.

    <EstimatedMemoryUsageKB>  
        <Processing>38</Processing>  
    </EstimatedMemoryUsageKB>  
    
  • DataExtension : types d’extensions de données ou de sources de données utilisées dans le rapport. Le nombre représente le nombre d'occurrences de la source de données spécifique.

    <DataExtension>  
       <DAX>2</DAX>  
    </DataExtension>  
    
  • ExternalImagesLa valeur est en milisecondes. Ces données peuvent être utilisées pour diagnostiquer les problèmes de performances. Le temps nécessaire pour récupérer des images à partir d’un serveur web externe peut ralentir l’exécution globale du rapport. Ajouté dans SQL Server 2012.

    <ExternalImages>  
        <Count>3</Count>  
        <ByteCount>9268</ByteCount>  
        <ResourceFetchTime>9</ResourceFetchTime>  
    </ExternalImages>  
    
  • Connexions : structure à plusieurs niveaux. Ajouté dans SQL Server 2012.

    <Connections>  
        <Connection>  
          <ConnectionOpenTime>127</ConnectionOpenTime>  
          <DataSource>  
            <Name>DataSource1</Name>  
            <DataExtension>SQL</DataExtension>  
          </DataSource>  
          <DataSets>  
            <DataSet>  
              <Name>DataSet1</Name>  
              <RowsRead>16</RowsRead>  
              <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>33</ExecuteReaderTime>  
              <DataReaderMappingTime>30</DataReaderMappingTime>  
              <DisposeDataReaderTime>1</DisposeDataReaderTime>  
            </DataSet>  
            <DataSet>  
              <Name>DataSet2</Name>  
              <RowsRead>3</RowsRead>  
              <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>1</ExecuteReaderTime>  
              <DataReaderMappingTime>0</DataReaderMappingTime>  
              <DisposeDataReaderTime>0</DisposeDataReaderTime>  
            </DataSet>  
          </DataSets>  
        </Connection>  
    </Connections>  
    
    

Champs de journal (ExecutionLog2)

Cette vue ajoute de nouveaux champs et contient des champs renommés. Voici un exemple d’instruction Transact SQL pour récupérer des lignes de la vue ExecutionLog2. L’exemple suppose que la base de données du serveur de rapports est nommée 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 du rapport

Colonne Descriptif
Nom de l'instance 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 » qui est le dossier racine dans le Gestionnaire de rapports aurait un ReportPath de « /test ».

Un rapport nommé « test » enregistré dans le dossier « samples » sur le Gestionnaire de rapports aura un ReportPath de « /Samples/test/ »
Nom d’utilisateur Identificateur de l’utilisateur.
ID d'exécution
RequestType Type de requête (utilisateur ou système).
Format Format de rendu.
Paramètres Valeurs des paramètres utilisées pour une exécution de rapport.
Action de Rapport 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.
Fin du temps
RécupérationDesDonnéesTemporelles Nombre de millisecondes consacré à la récupération des données, au traitement du rapport et au rendu du rapport.
TraitementDuTemps
TimeRendering
Source Source de l’exécution du rapport (1=Live, 2=Cache, 3=Snapshot, 4=History).
Statut État (soit rsSuccess, soit un code d'erreur. En cas de plusieurs erreurs, seule la première est enregistrée).
ByteCount Taille en octets des rapports rendus.
Nombre de lignes Nombre de lignes renvoyées par les requêtes.
Informations supplémentaires Conteneur des propriétés XML contenant des informations supplémentaires sur l'exécution.

Champs de journal (ExecutionLog)

Voici un exemple d’instruction Transact SQL pour récupérer des lignes à partir de la vue ExecutionLog. L’exemple suppose que la base de données du serveur de rapports est nommée 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 du rapport

Colonne Descriptif
Nom de l'instance Nom de l'instance du serveur de rapports qui a géré la demande.
ReportID Identificateur du rapport.
Nom d’utilisateur Identificateur de l’utilisateur.
Type de demande Valeurs possibles :

True = Demande d'abonnement

False= Demande interactive
Format Format de rendu.
Paramètres Valeurs des paramètres utilisées pour une exécution de rapport.
HeureDébut Heures de début et de fin qui indiquent la durée d'un traitement de rapport.
Fin du Temps
RécupérationDesDonnéesTemporelles Nombre de millisecondes consacré à la récupération des données, au traitement du rapport et au rendu du rapport.
Traitement du temps
TimeRendering
Source Source d'exécution du rapport. Valeurs possibles : (1=Actif, 2=Cache, 3=Instantané, 4=Historique, 5=Adhoc, 6=Session, 7=RDCE).
Statut Valeurs possibles : rsSuccess, rsProcessingAborted ou code d’erreur. Si plusieurs erreurs se produisent, seule la première erreur est enregistrée.
ByteCount Taille en octets des rapports rendus.
Nombre de lignes Nombre de lignes renvoyées par les requêtes.

Voir aussi

Activer les événements Reporting Services pour le journal de suivi SharePoint (ULS)
Fichiers journaux et sources de Reporting Services
Informations de référence sur les erreurs et les événements (Reporting Services)