报表服务器服务跟踪日志

报表服务器跟踪日志包含报表服务器服务操作的详细信息,其中包括由报表服务器 Web 服务、报表管理器和后台处理所执行操作的详细信息。跟踪日志文件中包括其他日志文件中记录的冗余信息,还包括无法通过其他方式获得的附加信息。如果要调试包括报表服务器的应用程序或调查已写入事件日志或执行日志中的特定问题,跟踪日志信息可能非常有用。

注意注意

在早期版本中,每个应用程序都具有一个跟踪日志文件,因此具有多个跟踪日志文件。此版本将所有日志数据合并到一个文件中。在 SQL Server 2008 中以下文件已过时并且不再创建:ReportServerWebApp_<timestamp>.log、ReportServer_<timestamp>.log 和 ReportServerService_main_<timestamp>.log。

查看日志信息

跟踪日志文件是 ReportServerService_<时间戳>.log。跟踪日志是 ASCII 文本文件。可以使用任何文本编辑器查看该文件。该文件位于 \Microsoft SQL Server\<SQL Server 实例>\Reporting Services\LogFiles。跟踪日志每天进行创建,其中第一个条目发生在午夜(本地时间)之后,并且在每次重新启动该服务时都创建跟踪日志。时间戳基于协调世界时 (UTC)。该文件是 EN-US 格式。默认情况下,跟踪日志大小限制为 32 MB,并在 14 天后删除。

ReportServerService 日志文件的配置设置

跟踪级别通过 DefaultTraceSwitch 和 RSTrace 设置指定。所有跟踪级别设置都存储在 ReportingServicesrService.exe.config 文件中。

此配置文件位于文件夹路径 \Program Files\Microsoft SQL Server\MSRS10_50.<实例名称>\Reporting Services\ReportServer\bin 中。

默认情况下,启用 ReportServerService 日志文件。

若要关闭该文件,请在 ReportingServicesService.exe.config 文件的 RStrace 部分中将跟踪级别设置为 0。

若要限制文件的保留天数,请在 RStrace 部分中指定 KeepFilesForDays 配置设置。默认情况下,该值设置为 14。

若要限制文件大小,请在 RStrace 部分中指定 FileSizeLimitMb 配置设置。默认情况下,该值设置为 32 MB。可通过设置跟踪级别(0 到 4)来控制要记录的内容的数量,从而控制文件的大小。还可以指定要跟踪的组件。如果在尚未达到 14 天过期时间之前日志文件已达到最大大小,将使用较新的项替换较旧的项。

日志文件字段

跟踪日志中包括以下字段:

  • 系统信息,包括操作系统、版本、处理器个数和内存。

  • Reporting Services 组件和版本信息。

  • 记入应用程序日志的事件。

  • 报表服务器生成的异常。

  • 报表服务器记录的资源不足警告。

  • 入站 SOAP 信封和摘要式出站 SOAP 信封。

  • HTTP 标头、堆栈跟踪和调试跟踪信息。

通过查阅跟踪日志信息,可以确定是否进行了报表传递、谁接收了报表以及进行了多少次传递尝试。跟踪日志还会记录报表执行活动以及报表处理过程中的有效环境变量。错误和异常也会记入跟踪日志中。例如,可能会发现报表超时错误(如 ThreadAbortExceptions 条目所示)。

配置设置示例

下面的示例演示 RStrace 设置的 XML 结构。DefaultTraceSwitch 的值确定添加到日志的信息种类。除了 Components 属性以外,各个配置文件 RStrace 的值是相同的。

  <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="tid, time" />
        <add name="TraceListeners" value="file" />
        <add name="TraceFileMode" value="unique" />
        <add name="Components" value="all" />
  </RStrace>

下表提供了有关每个设置的信息。

设置

说明

RStrace

指定用于错误和跟踪的命名空间。

DefaultTraceSwitch

指定向 ReportServerService 跟踪日志报告的信息的级别。每个级别都包含所有更低级别(用更小的数字表示)报告的信息。建议您不要禁用跟踪。有效值包括:

0= 禁用跟踪

1= 异常和重新启动

2= 异常、重新启动、警告

3= 异常、重新启动、警告、状态消息(默认值)

4= 详细模式

FileName

指定日志文件名的第一部分。日志文件名的其余部分由 Prefix 指定的值完成。

FileSizeLimitMb

指定跟踪日志大小的上限。文件大小的单位为 MB。有效值介于 0 到最大整数之间。默认值为 32。如果指定 0 或负数,报表服务器会将该值视为 1。

KeepFilesForDays

指定多少天后删除跟踪日志文件。有效值介于 0 到最大整数之间。默认值为 14。如果指定 0 或负数,报表服务器会将该值视为 1。

Prefix

指定一个生成的值,该值可将日志实例彼此区分开。默认情况下,跟踪日志文件名后面将附加时间戳值。此值设置为“ tid, time ”。请不要修改此设置。

TraceListeners

指定输出跟踪日志内容的目标。您可以通过使用逗号进行分隔来指定多个目标。有效值包括:

调试窗口

File(默认值)

StdOut

TraceFileMode

指定跟踪日志是否包含 24 小时时段内的数据。每天应当为每个组件设置唯一的跟踪日志。此值设置为“Unique”(默认值)。不要修改此值。

Components

按以下格式指定为其生成跟踪日志信息的组件以及跟踪级别:

<组件类别>:<跟踪级别>

组件类别可以设置为:

  • All 用于跟踪未划分为特定类别的所有进程的常规报表服务器活动。

  • RunningJobs 用于跟踪正在进行中的报表或订阅操作。

  • SemanticQueryEngine 用于跟踪用户在基于模型的报表中执行即席数据浏览时处理的语义查询。

  • SemanticModelGenerator 用于跟踪模型生成。

  • http 用于启用报表服务器 HTTP 日志文件。有关详细信息,请参阅报表服务器 HTTP 日志

有效的跟踪级别值包括:

0= 禁用跟踪

1= 异常和重新启动

2= 异常、重新启动、警告

3= 异常、重新启动、警告、状态消息(默认值)

4= 详细模式

报表服务器的默认级别为“all:3”。

可以指定所有或部分组件(all、RunningJobs、SemanticQueryEngine、SemanticModelGenerator)。如果您不想生成特定组件的信息,则可以禁用其跟踪(例如“SemanticModelGenerator:0”)。请不要禁用 all 的跟踪。

如果您不对组件追加跟踪级别,将使用为 DefaultTraceSwitch 指定的值。例如,如果指定“all,RunningJobs,SemanticQueryEngine,SemanticModelGenerator”,所有组件将使用默认跟踪级别。

如果要查看为每个语义查询生成的 Transact-SQL 语句,则可以设置“SemanticQueryEngine:4”。Transact-SQL 语句记录到跟踪日志中。下例说明将 Transact-SQL 语句添加到日志的配置设置:

<add name="Components" value="all,SemanticQueryEngine:4" />

添加自定义配置设置以指定转储文件位置

可以添加自定义设置来设置 Dr. Watson for Windows 工具用于存储转储文件的位置。自定义设置为 Directory。下例提供了如何在 RStrace 部分中指定此配置设置的说明:

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

有关详细信息,请参阅 Microsoft 网站上的知识库文章 913046