Berichtsserverdienst-Ablaufprotokoll

Bei den Reporting Services-Berichtsserver-Ablaufverfolgungsprotokollen handelt es sich um ASCII-Textdateien, die detaillierte Informationen zu den Vorgängen des Berichtsserverdiensts enthält. Die Informationen in der Datei umfassen Vorgänge, die vom Berichtsserver-Webdienst, vom Webportal und von der Hintergrundverarbeitung durchgeführt wurden. In den Ablaufprotokollen sind redundante Informationen gespeichert, die in anderen Protokolldateien aufgezeichnet werden, sowie zusätzliche Informationen, die anderweitig nicht verfügbar sind. Informationen aus Ablaufprotokollen sind nützlich, wenn Sie eine Anwendung debuggen, die einen Berichtsserver enthält. Die Informationen sind auch hilfreich, wenn Sie ein bestimmtes Problem untersuchen, das in das Ereignisprotokoll oder das Ausführungsprotokoll geschrieben wurde. Zum Beispiel bei der Behandlung von Problemen mit Abonnements.

Wo befinden sich die Protokolldateien des Berichtsservers?

Die Ablaufverfolgungs-Protokolldateien sind ReportServerService_<timestamp>.log und Microsoft.ReportingServices.Portal.WebHost_<timestamp>.log. Diese befinden sich in folgendem Ordner:

C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\LogFiles

Die Ablaufverfolgungsprotokolle werden täglich erstellt, beginnend mit dem ersten Eintrag nach Mitternacht (lokale Zeit) sowie nach Neustart des Diensts. Der Timestamp basiert auf der koordinierten Weltzeit (UTC). Die Datei liegt im Format EN-US vor. Standardmäßig sind Ablaufprotokolle auf 32 Megabyte begrenzt und werden nach 14 Tagen gelöscht.

Konfigurationseinstellungen für die Ablaufverfolgung

Das Verhalten der Ablaufprotokolle wird in der Konfigurationsdatei ReportingServicesService.exe.config verwaltet. Die Konfigurationsdatei befindet sich unter folgendem Ordnerpfad:

\Program Files\Microsoft SQL Server\MSRS13.<instance name>\Reporting Services\ReportServer\bin.

Im folgenden Beispiel wird die XML-Struktur der RStrace -Einstellungen veranschaulicht. Der Wert für DefaultTraceSwitch bestimmt die Art der Informationen, die dem Protokoll hinzugefügt werden. Mit Ausnahme des Components -Attributs sind die Werte für RStrace in den Konfigurationsdateien identisch.

  \<system.diagnostics>
    <switches>
      <add name="DefaultTraceSwitch" value="3" />
    </switches>
  \</system.diagnostics>
  <RStrace>
    <add name="FileName" value="ReportServerService_" />
    <add name="FileSizeLimitMb" value="32" />
    <add name="KeepFilesForDays" value="14" />
    <add name="Prefix" value="appdomain, tid, time" />
    <add name="TraceListeners" value="file" />
    <add name="TraceFileMode" value="unique" />
    <add name="Components" value="all:3" />
  </RStrace>

Die folgende Tabelle enthält Informationen zu den einzelnen Einstellungen.

Einstellung BESCHREIBUNG Werte
RStrace Gibt Namespaces an, die für Fehler und für die Ablaufverfolgung verwendet werden.
DefaultTraceSwitch Gibt die Ebene der Informationen an, die im Ablaufprotokoll ReportServerService aufgezeichnet werden. Jede Ebene enthält jeweils die Informationen aller niedrigerer Ebenen. Das Deaktivieren der Ablaufverfolgung wird nicht empfohlen. Gültige Werte sind:



0= Deaktiviert die Ablaufverfolgung. Die Protokolldatei ReportServerService ist standardmäßig aktiviert. Um diese Funktion zu deaktivieren, legen Sie die Ablaufverfolgungsebene auf 0 fest.

1= Exceptions and restarts

2= Exceptions, restarts, warnings

3= Exceptions, restarts, warnings, status messages (Standard)

4= Verbose mode
FileName Gibt den ersten Teil des Protokolldateinamens an. Der Wert von Prefix ergänzt den restlichen Namen.
FileSizeLimitMb Gibt eine Obergrenze für die Größe des Ablaufverfolgungsprotokolls an. Die Datei wird in Megabytes gemessen.

Sie können die Dateigröße beeinflussen, indem Sie Ablaufverfolgungsebenen festlegen (0 bis 4), um zu steuern, wie viel Inhalt aufgezeichnet wird. Zudem können Sie angeben, welche Bestandteile verfolgt werden. Wenn das Maximum der Protokolldatei vor dem Ablaufdatum von 14 Tagen erreicht wird, werden ältere Einträge durch neuere Einträge ersetzt.
Gültige Werte sind 0 bis zu einer maximalen ganzen Zahl. Der Standardwert ist 32. Wenn Sie 0 oder eine negative Zahl angeben, wird dieser Wert vom Berichtsserver wie der Wert 1 behandelt.
KeepFilesForDays Gibt die Anzahl von Tagen an, nach der eine Ablaufprotokolldatei gelöscht wird. Gültige Werte sind 0 bis zu einer maximalen ganzen Zahl. Der Standardwert ist 14. Wenn Sie 0 oder eine negative Zahl angeben, wird dieser Wert vom Berichtsserver wie der Wert 1 behandelt.
Präfix Gibt einen generierten Wert an, der die Protokollinstanzen voneinander unterscheidet. Standardmäßig werden Timestampwerte an die Dateinamen von Ablaufverfolgungsprotokollen angehängt. Dieser Wert ist auf appdomain, tid, time festgelegt. Ändern Sie diese Einstellung nicht.
TraceListeners Gibt die Zieladresse für die Ausgabe des Inhalts von Ablaufverfolgungsprotokollen an. Sie können mehrere durch Trennzeichen getrennte Ziele angeben. Gültige Werte sind:



DebugWindow

File (Standard)

StdOut
TraceFileMode Gibt an, ob Ablaufverfolgungsprotokolle Daten für einen Zeitraum von 24 Stunden enthalten. Für jede Komponente sollte pro Tag ein eindeutiges Ablaufverfolgungsprotokoll erstellt werden. Dieser Wert ist auf Unique (default) festgelegt. Ändern Sie diesen Wert nicht.
Komponentenkategorie Gibt die Komponenten, für die Ablaufverfolgungsprotokoll-Informationen generiert werden, sowie die Ablaufverfolgungsebene in diesem Format an:

\<component category>:\<tracelevel>

Sie können alle oder einige der Komponenten (all, RunningJobs, SemanticQueryEngine, SemanticModelGenerator) angeben. Wenn Informationen für eine bestimmte Komponente nicht generiert werden sollen, können Sie deren Ablaufverfolgung deaktivieren (z. B. „SemanticModelGenerator:0“). Deaktivieren Sie nicht die Ablaufverfolgung für all.

Sie können "SemanticQueryEngine:4" festlegen, wenn Sie die für jede Semantikabfrage generierten Transact-SQL-Anweisungen anzeigen möchten. Die Transact-SQL-Anweisungen werden im Ablaufverfolgungsprotokoll aufgezeichnet. Im folgenden Beispiel wird die Konfigurationseinstellung veranschaulicht, die dem Protokoll Transact-SQL-Anweisungen hinzufügt:

<add name="Components" value="all,SemanticQueryEngine:4" />
Für Komponentenkategorien kann Folgendes festgelegt werden:



All wird zur Ablaufverfolgung der allgemeinen Berichtsserveraktivität für alle Vorgänge verwendet, die nicht in die einzelnen Kategorien unterteilt werden.

RunningJobs wird für die Ablaufverfolgung eines gegenwärtig ausgeführten Berichts oder eines Abonnementvorgangs verwendet.

SemanticQueryEngine wird für die Ablaufverfolgung einer Semantikabfrage verwendet, die verarbeitet wird, wenn ein Benutzer eine ungeplante Durchsuchung von Daten in einem modellbasierten Bericht ausführt.

SemanticModelGenerator wird für die Ablaufverfolgung der Modellgenerierung verwendet.

http wird verwendet, um die Berichtsserver-HTTP-Protokolldatei zu aktivieren. Weitere Informationen finden Sie unter Report Server HTTP Log.
trace level-Wert (Wert auf Ablaufverfolgungsebene) für Komponentenkategorien <Komponentenkategorie>:<Ablaufverfolgungsebene>



Wenn Sie keine Ablaufverfolgungsebene an die Komponente anfügen, wird der für DefaultTraceSwitch angegebene Wert verwendet. Wenn Sie beispielsweise all,RunningJobs,SemanticQueryEngine,SemanticModelGenerator angeben, verwenden alle Komponenten die Standardablaufverfolgungsebene.
Gültige Werte für die Ablaufverfolgungsebene sind Folgende:



0= Disables tracing

1= Exceptions and restarts

2= Exceptions, restarts, warnings

3= Exceptions, restarts, warnings, status messages (Standard)

4= Verbose mode

Der Standardwert für Berichtsserver ist: all:3.

Hinzufügen einer benutzerdefinierten Konfigurationseinstellung zum Angeben eines Speicherortes für eine Sicherungsdatei

Sie können dem Speicherort, der vom Windows-Tool Dr. Watson zum Speichern von Sicherungsdateien verwendet wird, eine benutzerdefinierte Einstellung hinzufügen. Die benutzerdefinierte Einstellung ist Directory. Im folgenden Beispiel wird veranschaulicht, wie diese Konfigurationseinstellung im Abschnitt RStrace angegeben wird:

<add name="Directory" value="U:\logs\" />  

Weitere Informationen finden Sie im Knowledge Base-Artikel 913046 auf der Microsoft -Website.

Protokolldateifelder

Ein Ablaufverfolgungsprotokoll enthält folgende Felder:

  • Systeminformationen, einschließlich Betriebssystem, Version, Anzahl der Prozessoren und Arbeitsspeicher.

  • Reporting Services -Komponente und Versionsinformationen.

  • Im Anwendungsprotokoll protokollierte Ereignisse.

  • Vom Berichtsserver generierte Ausnahmen.

  • Von einem Berichtsserver protokollierte Warnungen wegen unzureichender Ressourcen.

  • Eingehende SOAP-Umschläge und zusammengefasste ausgehende SOAP-Umschläge.

  • Informationen zu HTTP-Header, Stapelüberwachung und Debugablaufverfolgung.

Sie können anhand der Informationen im Ablaufverfolgungsprotokoll bestimmen, ob ein Bericht übermittelt wurde, wer den Bericht empfangen hat und wie viele Übermittlungsversuche unternommen wurden. Ablaufverfolgungsprotokolle zeichnen auch Berichtsausführungsaktivitäten sowie die Umgebungsvariablen auf, die bei der Berichtsverarbeitung verwendet werden. Fehler und Ausnahmen werden ebenfalls in Ablaufverfolgungsprotokollen aufgezeichnet. Es könnten zum Beispiel Berichtstimeoutfehler zu finden sein, die am ThreadAbortExceptions-Eintrag zu erkennen sind.

Vorgängerversionen

In vorherigen Releases von Reporting Serviceswaren mehrere Ablaufverfolgungs-Protokolldateien vorhanden, eine pro Anwendung. Die folgenden Dateien sind veraltet und werden in SQL Server 2008 (10.0.x) und höheren Versionen nicht mehr erstellt:

+ ReportServerWebApp_\<timestamp>.log
+ ReportServer_\<timestamp>.log
+ ReportServerService_main_\<timestamp>.log

Haben Sie dazu Fragen? Besuchen Sie das Reporting Services-Forum