Reporting Services 跟踪日志
跟踪日志包含有关报表服务器运行情况的详细信息。跟踪日志中不仅包含其他日志文件中已记录的冗余信息,而且包含其他日志未记录的其他信息。跟踪日志对于调试包括报表服务器的应用程序,或调查已写入事件日志或执行日志中的特定问题很有帮助。
跟踪日志每天进行创建,其第一个条目发生在午夜(本地时间)之后。跟踪日志的文件名是从计算机的本地时间派生的。默认情况下,跟踪日志大小限制为 32 MB,并在 14 天后删除。
查找跟踪日志
SQL Server Reporting Services 提供了四个跟踪日志文件,这些文件位于 \Microsoft SQL Server\<SQL Server 实例>\Reporting Services\LogFiles。下表对其进行了说明:
日志文件名 | 说明 |
---|---|
ReportServerService_<时间戳>.log |
报表服务器 Windows 服务工作线程的跟踪日志。 |
ReportServerService_main_<时间戳>.log |
报表服务器 Windows 服务管理线程的跟踪日志。 |
ReportServerWebApp_<时间戳>.log |
报表管理器的跟踪日志。 |
ReportServer_<时间戳>.log |
报表服务器 Web 服务的跟踪日志。 |
查看日志信息
跟踪日志均为文本文件。可以使用任何文本编辑器查看日志。跟踪日志中可包括以下信息:
- 系统信息,包括操作系统、版本、处理器个数和内存。
- Reporting Services 组件和版本信息。
- 记入应用程序日志的事件。
- 报表服务器生成的异常。
- 报表服务器记录的资源不足警告。
- 入站 SOAP 信封和摘要式出站 SOAP 信封。
- HTTP 标头、堆栈跟踪和调试跟踪信息。
通过查阅跟踪日志,可以确定是否进行了报表传递、谁接收了报表以及进行了多少次传递尝试。跟踪日志还会记录报表执行活动以及报表处理过程中的有效环境变量。错误和异常也会记入跟踪日志中。例如,可以找到报表超时错误(见 ThreadAbortExceptions 条目)。
设置跟踪级别
跟踪级别通过 DefaultTraceSwitch 和 RSTrace 设置指定。每个组件将跟踪级别设置存储在不同配置文件中。若要控制记录到每个日志文件的信息数量,您必须修改相应配置文件中的设置。
组件日志文件名 | 包含跟踪设置的配置文件 |
---|---|
ReportServerService_<时间戳>.log 和 ReportServerService_main_<时间戳>.log |
ReportingServicesService.config 文件。 有关详细信息,请参阅 ReportingServicesService 配置文件。 对配置文件所做的更改在重新启动 Windows 服务后生效。 |
ReportServerWebApp_<时间戳>.log |
报表管理器的 Web.config 文件,位于 Program Files\SQL Server\MSSQL.n\Reporting Services\ReportManager 文件夹中。 对配置文件的更改将立即生效。 |
ReportServer_<时间戳>.log |
报表服务器 Web 服务的 Web.config 文件,位于 Program Files\SQL Server\MSSQL.n\Reporting Services\ReportServer 文件夹中。 对配置文件的更改将立即生效。 |
RStrace 设置
下例说明 RStrace 设置的 XML 结构。DefaultTraceSwitch 的值确定添加到日志的信息种类。除了 Components 属性以外,各个配置文件 RStrace 的值是相同的。在报表服务器 Web.config 文件中,Components 属性有一组不同的有效值。本部分中的表说明了该属性的有效值。
<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="debugwindow, 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 |
指定输出跟踪日志内容的目标。您可以通过使用逗号进行分隔来指定多个目标。有效值包括: DebugWindow(默认值) File(默认值) StdOut |
TraceFileMode |
指定跟踪日志是否包含 24 小时时段内的数据。每天应当为每个组件设置唯一的跟踪日志。此值设置为“Unique”(默认值)。不要修改此值。 |
Components |
指定为其生成跟踪日志信息的组件以及跟踪级别。有效值在整个配置文件中不相同: 在报表管理器的 ReportServerService.exe.config 和 Web.config 文件中: 其默认值为 all。此设置的其他有效值包括内部组件名。请不要在这些配置文件中修改该值。 在报表服务器的 Web.config 文件中: 默认值为“all,RunningJobs:3,SemanticQueryEngine:2,SemanticModelGenerator:2”。此 Web.config 文件中 Components 的有效值包括以逗号分隔的组件列表及每个组件的跟踪级别,其中 0=禁用跟踪,1=异常和重新启动,2=异常、重新启动、警告,3=异常、重新启动、警告、状态信息(默认值),4=详细。
可以指定所有或部分组件(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。
请参阅
概念
其他资源
Reporting Services 错误和事件
Reporting Services 故障排除