Freigeben über


Berichtsserverausführungsprotokoll und die ExecutionLog3-Ansicht

Das Ausführungsprotokoll des Berichtsservers enthält Informationen über die Berichte, die einzeln oder auf mehreren Servern in einer nativen Skalierungsbereitstellung oder einer SharePoint-Farm ausgeführt werden. Sie können das Berichtsausführungsprotokoll verwenden, um herauszufinden, wie oft ein Bericht angefordert wird, welche Ausgabeformate am häufigsten verwendet werden und wie viele Millisekunden verarbeitungszeit für jede Verarbeitungsphase aufgewendet werden. Das Protokoll enthält Informationen über die Dauer der Ausführung der Datasetabfrage eines Berichts und die zeitaufwendigen Verarbeitung der Daten. Wenn Sie ein Berichtsserveradministrator sind, können Sie die Protokollinformationen überprüfen und lange ausgeführte Aufgaben identifizieren und den Berichtsautoren Vorschläge zu den Bereichen des Berichts (Datasets oder Verarbeitung) machen, die sie möglicherweise verbessern können.

Berichtsserver, die für den SharePoint-Modus konfiguriert sind, können auch die SharePoint ULS-Protokolle verwenden. Weitere Informationen finden Sie unter Aktivieren von Reporting Services-Ereignissen für das SharePoint-Ablaufverfolgungsprotokoll (ULS)

Anzeigen von Protokollinformationen

Die Ausführung des Berichtsservers protokolliert Daten zur Berichtsausführung in einer internen Datenbanktabelle. Die Informationen aus der Tabelle sind in SQL Server-Sichten verfügbar.

Das Berichtsausführungsprotokoll wird in der Berichtsserverdatenbank gespeichert, die standardmäßig den Namen ReportServer hat. Die SQL-Ansichten enthalten die Ausführungsprotokollinformationen. Die Ansichten "2" und "3" wurden in neueren Versionen hinzugefügt und enthalten neue Felder oder Felder mit freundlicheren Namen als die vorherigen Versionen. Die älteren Ansichten verbleiben im Produkt, sodass benutzerdefinierte Anwendungen, die von ihnen abhängen, nicht betroffen sind. Wenn Sie keine Abhängigkeit von einer älteren Ansicht haben, z. B. "ExecutionLog", empfiehlt es sich, die neueste Ansicht "ExecutionLog3" zu verwenden.

Inhalt dieses Themas:

Konfigurationseinstellungen für einen SharePoint-Modus-Berichtsserver

Sie können die Berichtsausführungsprotokollierung in den Systemeinstellungen einer Reporting Services-Dienstanwendung aktivieren oder deaktivieren.

Standardmäßig werden Protokolleinträge 60 Tage gespeichert. Einträge, die diese Dauer überschreiten, werden täglich um 2:00 Uhr entfernt. Bei einer ausgereiften Installation werden jeweils nur 60 Tage Informationen zur Verfügung gestellt.

Sie können keine Grenzwerte für die Anzahl von Zeilen oder für den Typ der protokollierten Einträge festlegen.

So aktivieren Sie die Ausführungsprotokollierung:

  1. Klicken Sie in der SharePoint-Zentraladministration in der Gruppe "Anwendungsverwaltung" auf "Dienstanwendungen verwalten".

  2. Klicken Sie auf den Namen der Reporting Services-Dienstanwendung, die Sie konfigurieren möchten.

  3. Klicken Sie auf Systemeinstellungen.

  4. Wählen Sie Protokollierung der Ausführung aktivieren im Abschnitt Protokollierung aus.

  5. Klicke auf OK.

So aktivieren Sie detaillierte Protokollierung:

Sie müssen die Protokollierung wie in den vorherigen Schritten beschrieben aktivieren und dann Folgendes ausführen:

  1. Suchen Sie auf der Seite Systemeinstellungen Ihrer Reporting Services-Dienstanwendung den Abschnitt Benutzerdefiniert.

  2. Ändern Sie ExecutionLogLevel in Ausführlich. Dieses Feld ist ein Texteingabefeld, und die zwei möglichen Werte sind Ausführlich und Normal.

Konfigurationseinstellungen für einen Berichtsserver für den nativen Modus

Sie können die Protokollierung der Berichtsausführung auf der Seite "Servereigenschaften" in SQL Server Management Studio aktivieren oder deaktivieren. Die Eigenschaft "EnableExecutionLogging" ist eine erweiterte Eigenschaft.

Standardmäßig werden Protokolleinträge 60 Tage gespeichert. Einträge, die diese Dauer überschreiten, werden täglich um 2:00 Uhr entfernt. Bei einer ausgereiften Installation werden jeweils Informationen für nur 60 Tage zur Verfügung gestellt.

Sie können keine Grenzwerte für die Anzahl von Zeilen oder für den Typ der protokollierten Einträge festlegen.

So aktivieren Sie die Ausführungsprotokollierung:

  1. Starten Sie SQL Server Management Studio mit Administratorprivilegien. Klicken Sie z. B. mit der rechten Maustaste auf das Management Studio-Symbol, und klicken Sie auf "Als Administrator ausführen".

  2. Stellen Sie eine Verbindung mit dem gewünschten Berichtsserver her.

  3. Klicken Sie mit der rechten Maustaste auf den Servernamen, und klicken Sie dann auf "Eigenschaften". Wenn die Option "Eigenschaften" deaktiviert ist, überprüfen Sie, ob Sie SQL Server Management Studio mit Administratorrechten ausgeführt haben.

  4. Klicken Sie auf die Protokollierungsseite .

  5. Wählen Sie Protokollierung der Berichtsausführung aktivierenaus.

So aktivieren Sie ausführliche Protokollierung:

Sie müssen die Protokollierung wie in den vorherigen Schritten beschrieben aktivieren und dann Folgendes ausführen:

  1. Klicken Sie im Dialogfeld "Servereigenschaften " auf die Seite "Erweitert ".

  2. Ändern Sie im Abschnitt Benutzerdefiniert den Wert für ExecutionLogLevel in Ausführlich. Dieses Feld ist ein Texteingabefeld, und die zwei möglichen Werte sind Ausführlich und Normal.

Protokollfelder (ExecutionLog3)

Diese Ansicht hat in der XML-basierten Spalte "AdditionalInfo " zusätzlichen Knoten für die Leistungsdiagnose hinzugefügt. Die Spalte "AdditionalInfo" enthält eine XML-Struktur von 1 bis viele zusätzliche Informationsfelder. Nachfolgend sehen Sie eine Transact SQL-Beispiel-Anweisung zum Abrufen von Zeilen aus der Ansicht ExecutionLog3. Im Beispiel wird davon ausgegangen, dass die Berichtsserverdatenbank den Namen ReportServer hat:

Use ReportServer  
select * from ExecutionLog3 order by TimeStart DESC  

In der folgenden Tabelle werden die Daten beschrieben, die im Berichtsausführungsprotokoll erfasst werden.

Kolumne BESCHREIBUNG
InstanzName Name der Berichtsserverinstanz, die die Anforderung verarbeitet hat. Wenn die Umgebung mehr als einen Berichtsserver hat, können Sie die zu überwachende InstanceName-Verteilung analysieren und bestimmen, ob der Netzwerklastenausgleich Anforderungen auf der anderen Seite von Berichtsservern wie erwartet verteilt.
ItemPath Pfad, in dem ein Bericht oder Berichtselement gespeichert wird.
Nutzername Benutzer-ID.
ExecutionID Der interne einer Anforderung zugeordnete Bezeichner. Anforderungen in denselben Benutzersitzungen teilen dieselbe Ausführungs-ID.
Anfragetyp Mögliche Werte:
Interaktiv
Abonnement



Das Analysieren von Protokolldaten, die nach RequestType=Subscription gefiltert und nach TimeStart sortiert werden, kann zu erheblichen Abonnementnutzungszeiträumen führen, und Sie können einige der Berichtsabonnements in eine andere Zeit ändern.
Format Renderingformat.
Die Parameter Parameterwerte, die für die Berichtsausführung verwendet werden.
ArtikelAktion Mögliche Werte:

Rendern

Sortieren

BookMarkNavigation

DocumentNavigation

GetDocumentMap

Findstring

Ausführen

RenderEdit
TimeStart Anfangs- und Beendigungszeit für die Verarbeitung eines Berichts.
Zeitende
Zeitdatenabruf Anzahl von Millisekunden, die zum Abrufen der Daten benötigt werden.
Zeitverarbeitung Anzahl von Millisekunden, die zum Verarbeiten des Berichts benötigt werden.
TimeRendering Anzahl von Millisekunden, die zum Rendern des Berichts benötigt werden.
Quelle Quelle der Berichtsausführung. Mögliche Werte:

Leben

Cache: Gibt eine zwischengespeicherte Ausführung an, z. B. werden Datasetabfragen nicht live ausgeführt.

Momentaufnahme

Geschichte

AdHoc : Gibt entweder ein dynamisch generiertes Berichtsmodell basierend auf einem Drillthroughbericht oder einen Berichts-Generator-Bericht an, der auf einem Client mit dem Berichtsserver für die Verarbeitung und das Rendern in der Vorschau angezeigt wird.

Sitzung: Gibt eine Nachverfolgungsanforderung innerhalb einer bereits eingerichteten Sitzung an. Die ursprüngliche Anforderung besteht beispielsweise darin, Seite 1 anzuzeigen, und die Nachverfolgungsanforderung besteht darin, mit dem aktuellen Sitzungszustand nach Excel zu exportieren.

Rdce: Gibt eine Erweiterung zur Anpassung der Berichtsdefinition an. Eine benutzerdefinierte RDCE-Erweiterung kann eine Berichtsdefinition dynamisch anpassen, bevor sie bei der Berichtsausführung an das Verarbeitungsmodul übergeben wird.
Der Status Status (entweder rsSuccess oder ein Fehlercode; beim Auftreten mehrerer Fehler wird nur der erste Fehler aufgezeichnet).
ByteCount Größe von gerenderten Berichten in Bytes.
Zeilenanzahl Anzahl der von Abfragen zurückgegebenen Zeilen.
ZusätzlicheInformationen Ein XML-Eigenschaftenbehälter, der weitere Informationen zur Ausführung enthält. Der Inhalt kann für jede Zeile anders sein.

Das AdditionalInfo-Feld

Das Feld "AdditionalInfo" ist ein XML-Eigenschaftenbehälter oder eine Struktur, die zusätzliche Informationen zur Ausführung enthält. Der Inhalt kann für jede Zeile im Protokoll anders sein.

Die folgenden Tabellen sind Beispiele für den Inhalt des AddtionalInfo-Felds für die Standard- und ausführliche Protokollierung:

Standardprotokollierungsbeispiel für 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>  
  

Ausführliches Protokollierungsbeispiel für AdditionalInfo

<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>  
  

Im Folgenden werden einige der Eigenschaften beschrieben, die im Feld "AdditionalInfo" angezeigt werden:

  • ProcessingEngine: 1=SQL Server 2005, 2=Das neue On-Demand-Verarbeitungsmodul. Wenn in den meisten Berichten immer noch der Wert 1 angezeigt wird, können Sie untersuchen, wie sie neu gestaltet werden, damit sie das neuere und effizientere On-Demand-Verarbeitungsmodul nutzen.

    <ProcessingEngine>2</ProcessingEngine>

  • Skalierbarkeitszeit: Die Anzahl der Millisekunden, die für die Durchführung von skalierungsbezogenen Vorgängen im Verarbeitungsmodul aufgewendet wurden. Ein Wert von 0 gibt an, dass keine zusätzliche Zeit für Skalierungsvorgänge aufgewendet wurde, und eine 0 gibt auch an, dass die Anforderung nicht unter Arbeitsspeicherdruck war.

    <ScalabilityTime>  
        <Processing>0</Processing>  
    </ScalabilityTime>  
    
  • EstimatedMemoryUsageKB: Eine Schätzung der Höchstmenge des Arbeitsspeichers in Kilobyte, die von jeder Komponente während einer bestimmten Anforderung verbraucht wird.

    <EstimatedMemoryUsageKB>  
        <Processing>38</Processing>  
    </EstimatedMemoryUsageKB>  
    
  • DataExtension: Die Typen von Datenerweiterungen oder Datenquellen, die im Bericht verwendet werden. Die Zahl ist eine Anzahl von Vorkommen der speziellen Datenquelle.

    <DataExtension>  
       <DAX>2</DAX>  
    </DataExtension>  
    
  • ExternalImagesDer Wert ist in Milisekunden angegeben. Diese Daten können bei der Diagnose von Leistungsproblemen verwendet werden. Die Zum Abrufen von Bildern von einem externen Webserver erforderliche Zeit kann die Ausführung des Gesamten Berichts verlangsamen. In SQL Server 2012 hinzugefügt.

    <ExternalImages>  
        <Count>3</Count>  
        <ByteCount>9268</ByteCount>  
        <ResourceFetchTime>9</ResourceFetchTime>  
    </ExternalImages>  
    
  • Verbindungen: Eine mehrstufige Struktur. In SQL Server 2012 hinzugefügt.

    <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>  
    
    

Protokollfelder (ExecutionLog2)

Diese Ansicht hat einige neue Felder hinzugefügt und einige andere umbenannt. Nachfolgend sehen Sie eine Transact SQL-Beispiel-Anweisung zum Abrufen von Zeilen aus der Ansicht ExecutionLog2. Im Beispiel wird davon ausgegangen, dass die Berichtsserverdatenbank den Namen ReportServer hat:

Use ReportServer  
select * from ExecutionLog2 order by TimeStart DESC  

In der folgenden Tabelle werden die Daten beschrieben, die im Berichtsausführungsprotokoll erfasst werden.

Kolumne BESCHREIBUNG
InstanzName Name der Berichtsserverinstanz, die die Anforderung verarbeitet hat.
ReportPath Die Pfadstruktur zum Bericht. Beispielsweise würde ein Bericht mit dem Namen "test" im Stammordner im Berichts-Manager einen ReportPath von "/test" aufweisen.

Ein Bericht mit dem Namen "test", der im Ordner "Samples" im Berichts-Manager gespeichert wird, verfügt über einen ReportPath von "/Samples/test/"
Nutzername Benutzer-ID.
Ausführungs-ID
Anfragetyp Anforderungstyp (entweder Benutzer oder System).
Format Renderingformat.
Die Parameter Parameterwerte, die für die Berichtsausführung verwendet werden.
BerichtAktion Mögliche Werte: Rendern, Sortieren, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring
TimeStart Anfangs- und Beendigungszeit für die Verarbeitung eines Berichts.
TimeEnd
TimeDataRetrieval Zeitaufwand (in Millisekunden) für das Abfragen der Daten, das Verarbeiten des Berichts und das Rendern des Berichts.
Zeitverarbeitung
Zeitdarstellung
Quelle Quelle der Berichtsausführung (1=Live, 2=Cache, 3=Momentaufnahme, 4=Verlauf).
Der Status Status (entweder rsSuccess oder ein Fehlercode; beim Auftreten mehrerer Fehler wird nur der erste Fehler aufgezeichnet).
Byte-Anzahl Größe von gerenderten Berichten in Bytes.
Zeilenanzahl Anzahl der von Abfragen zurückgegebenen Zeilen.
ZusätzlicheInformationen Ein XML-Eigenschaftenbehälter, der weitere Informationen zur Ausführung enthält.

Protokollfelder (ExecutionLog)

Nachfolgend sehen Sie eine Transact SQL-Beispiel-Anweisung zum Abrufen von Zeilen aus der Ansicht ExecutionLog. Im Beispiel wird davon ausgegangen, dass die Berichtsserverdatenbank den Namen ReportServer hat:

Use ReportServer  
select * from ExecutionLog order by TimeStart DESC  
  

In der folgenden Tabelle werden die Daten beschrieben, die im Berichtsausführungsprotokoll erfasst werden.

Kolumne BESCHREIBUNG
InstanzName Name der Berichtsserverinstanz, die die Anforderung verarbeitet hat.
ReportID Berichts-ID.
Nutzername Benutzer-ID.
Anfragetyp Mögliche Werte:

True = Eine Abonnementanforderung

False = Eine interaktive Anforderung
Format Renderingformat.
Die Parameter Parameterwerte, die für die Berichtsausführung verwendet werden.
Startzeit Anfangs- und Beendigungszeit für die Verarbeitung eines Berichts.
ZeitEnde
TimeDataRetrieval Zeitaufwand (in Millisekunden) für das Abfragen der Daten, das Verarbeiten des Berichts und das Rendern des Berichts.
TimeProcessing
Zeitrendering
Quelle Quelle der Berichtsausführung. Mögliche Werte: (1=Live, 2=Cache, 3=Snapshot, 4=History, 5=Adhoc, 6=Session, 7=RDCE).
Der Status Mögliche Werte: rsSuccess, rsProcessingAborted oder ein Fehlercode. Wenn mehrere Fehler auftreten, wird nur der erste Fehler aufgezeichnet.
ByteCount Größe von gerenderten Berichten in Bytes.
Zeilenanzahl Anzahl der von Abfragen zurückgegebenen Zeilen.

Siehe auch

Aktivieren Sie Reporting Services-Ereignisse im SharePoint-Ablaufverfolgungsprotokoll (ULS)
Reporting Services Log Files and Sources (Reporting Services-Protokolldateien und -Quellen)
Referenz zu Fehlern und Ereignissen (Reporting Services)