报表服务器服务跟踪日志
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 MB,并在 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>
下表提供了有关每个设置的信息。
设置 | 说明 |
---|---|
RStrace |
指定用于错误和跟踪的命名空间。 |
DefaultTraceSwitch |
指定向 ReportServerService 跟踪日志报告的信息的级别。 每个级别都包含所有更低级别(用更小的数字表示)报告的信息。 建议您不要禁用跟踪。 有效值是: 0= 禁用跟踪。 默认情况下,启用 ReportServerService 日志文件。 若要将其关闭,请将跟踪级别设为 0。 1= 异常和重新启动 2= 异常、重新启动、警告 3= 异常、重新启动、警告、状态消息(默认值) 4= 详细模式 |
FileName | 指定日志文件名的第一部分。 日志文件名的其余部分由 Prefix 指定的值完成。 |
FileSizeLimitMb | 指定跟踪日志大小的上限。 文件大小的单位为 MB。 有效值介于 0 到最大整数之间。 默认值为 32。 如果指定 0 或负数,报表服务器会将该值视为 1。 可通过设置跟踪级别(0 到 4)来控制要记录的内容的数量,从而控制文件的大小。 还可以指定要跟踪的组件。 如果在尚未达到 14 天过期时间之前日志文件已达到最大大小,将使用较新的项替换较旧的项。 |
KeepFilesForDays | 指定多少天后删除跟踪日志文件。 有效值介于 0 到最大整数之间。 默认值为 14。 如果指定 0 或负数,报表服务器会将该值视为 1。 |
Prefix |
指定一个生成的值,该值可将日志实例彼此区分开。 默认情况下,跟踪日志文件名后面将附加时间戳值。 此值设置为“ tid, time ”。 请不要修改此设置。 |
TraceListeners | 指定输出跟踪日志内容的目标。 您可以通过使用逗号进行分隔来指定多个目标。 有效值是: DebugWindow File(默认值) StdOut |
TraceFileMode | 指定跟踪日志是否包含 24 小时时段内的数据。 每天应当为每个组件设置唯一的跟踪日志。 此值设置为“Unique”(默认值)。 不要修改此值。 |
Components |
按以下格式指定为其生成跟踪日志信息的组件以及跟踪级别: <component category>:<tracelevel> 组件类别可以设置为: All 用于跟踪未划分为特定类别的所有进程的常规报表服务器活动。RunningJobs 用于跟踪正在进行中的报表或订阅操作。SemanticQueryEngine 用于跟踪用户在基于模型的报表中执行即席数据浏览时处理的语义查询。SemanticModelGenerator 用于跟踪模型生成。http 用于启用报表服务器 HTTP 日志文件。 有关详细信息,请参阅 Report Server HTTP Log。有效的跟踪级别值包括: 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\" />
有关详细信息,请参阅 网站上的 知识库文章 913046 Microsoft 。
日志文件字段
跟踪日志中包括以下字段:
系统信息,包括操作系统、版本、处理器个数和内存。
Reporting Services 组件和版本信息。
记入应用程序日志的事件。
报表服务器生成的异常。
报表服务器记录的资源不足警告。
入站 SOAP 信封和摘要式出站 SOAP 信封。
HTTP 标头、堆栈跟踪和调试跟踪信息。
通过查阅跟踪日志信息,可以确定是否进行了报表传递、谁接收了报表以及进行了多少次传递尝试。 跟踪日志还会记录报表执行活动以及报表处理过程中的有效环境变量。 错误和异常也会记入跟踪日志中。 例如,可能会发现报表超时错误(如 ThreadAbortExceptions
条目所示)。