Reporting Services 报表服务器跟踪日志是一个 ASCII 文本文件,其中包含报表服务器服务操作的详细信息,包括报表服务器 Web 服务、报表管理器和后台处理的操作。 跟踪日志文件包括在其他日志文件中记录的冗余信息,以及其他地方不可用的额外信息。 如果要调试包含报表服务器的应用程序,或者调查写入事件日志或执行日志的特定问题,跟踪日志信息可能很有用。
注释
在以前的版本中,有多个跟踪日志文件,每个应用程序都有一个。 以下文件已过时,并且不再在 SQL Server 2008 及更高版本中创建:ReportServerWebApp_<timestamp>.log、ReportServer_<timestamp.log 和 ReportServerService_main_timestamp>>.log。<
本主题内容:
报表服务器日志文件位于何处?
跟踪日志文件是 ReportServerService_<timestamp>.log 且位于以下文件夹:
C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\LogFiles
跟踪日志是每日创建的,从午夜(本地时间)之后发生的第一个条目开始,每当服务重启时。 时间戳基于协调世界时 (UTC)。 该文件是 EN-US 格式。 默认情况下,跟踪日志限制为 32 兆字节,默认情况下,跟踪日志会在 14 天后删除。
观看简短视频,演示如何使用 Microsoft Power Query 查看 Reporting Services 日志文件。
               
              
            
跟踪配置设置
跟踪日志行为在配置文件 ReportingServicesrService.exe.config进行管理。配置文件位于以下文件夹路径中:
              \Program Files\Microsoft SQL Server\MSRS12.<instance name>\Reporting Services\ReportServer\bin。
以下示例演示设置的 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>
下表提供了有关每个设置的信息。
| 设置 | DESCRIPTION | 
|---|---|
| RStrace | 指定用于错误和跟踪的命名空间。 | 
| DefaultTraceSwitch | 指定向 ReportServerService 跟踪日志报告的信息级别。 每个级别都包含所有更低级别(用更小的数字表示)报告的信息。 不建议禁用追踪功能。 有效值为: 0= 禁用跟踪。 默认情况下,ReportServerService 日志文件处于启用状态。 若要将其关闭,请将跟踪级别设置为 0。 1= 异常和重启 2= 异常、重启、警告 3= 异常、重启、警告、状态消息(默认值) 4= 详细日志模式 | 
| 文件名 | 指定日志文件名的第一部分。 由 Prefix指定的值补全了名称的其余部分。 | 
| FileSizeLimitMb | 指定跟踪日志大小的上限。 文件大小的单位为 MB。 有效值介于 0 到最大整数之间。 默认值为 32。 如果指定 0 或负数,报表服务器会将该值视为 1。 可通过设置跟踪级别(0 到 4)来控制要记录的内容的数量,从而控制文件的大小。 还可以指定要跟踪的组件。 如果在 14 天到期日期之前达到日志文件最大值,旧条目将替换为较新的条目。 | 
| KeepFilesForDays | 指定的天数后将删除跟踪日志。 有效值介于 0 到最大整数之间。 默认值为 14。 如果指定 0 或负数,报表服务器会将该值视为 1。 | 
| Prefix | 指定一个生成的值,该值可将日志实例彼此区分开。 默认情况下,跟踪日志文件名后面将附加时间戳值。 此值设置为“tid,时间”。 请勿修改此设置。 | 
| TraceListeners | 指定输出跟踪日志内容的目标。 您可以通过使用逗号进行分隔来指定多个目标。 有效值为: 调试窗口 文件(默认值) StdOut | 
| TraceFileMode | 指定跟踪日志是否包含 24 小时时段内的数据。 每天应当为每个组件设置唯一的跟踪日志。 此值设置为“Unique (default)”。 请勿修改此值。 | 
| Components | 按以下格式指定为其生成跟踪日志信息的组件以及跟踪级别: <组件类别>:<tracelevel> 组件分类可以设置为: All用于跟踪未细分为特定类别的所有进程的常规报表服务器活动。RunningJobs用于跟踪正在进行的报表或订阅作。SemanticQueryEngine用于跟踪用户在基于模型的报表中进行临时数据探索时处理的语义查询。SemanticModelGenerator用于跟踪模型生成。http用于启用报表服务器 HTTP 日志文件。 有关详细信息,请参阅 Report Server HTTP Log。有效的跟踪级别值包括: 0= 禁用跟踪 1= 异常和重启 2= 异常、重启、警告 3= 异常、重启、警告、状态消息(默认值) 4= 详细信息模式 报表服务器的默认值为:“all:3”。 可以指定所有或部分组件( all、、RunningJobsSemanticQueryEngineSemanticModelGenerator、 )。 如果不想为特定组件生成信息,可以针对它禁用跟踪(例如,“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 。
日志文件字段
跟踪日志中包括以下字段:
- 系统信息,包括操作系统、版本、处理器个数和内存。 
- Reporting Services 组件和版本信息。 
- 记入应用程序日志的事件。 
- 报表服务器生成的异常。 
- 报表服务器记录的资源不足警告。 
- 入站 SOAP 信封和摘要式出站 SOAP 信封。 
- HTTP 标头、堆栈跟踪和调试跟踪信息。 
通过查阅跟踪日志信息,可以确定是否进行了报表传递、谁接收了报表以及进行了多少次传递尝试。 跟踪日志还会记录报表执行活动以及报表处理过程中的有效环境变量。 错误和异常也会记入跟踪日志中。 例如,你可能会发现报告超时错误(指示为 ThreadAbortExceptions 条目)。