冠军

导航

SSRS Reporting Service 日志

Reporting Services log 文件及来源

报表服务器和报表服务器环境使用各种日志目标来记录有关服务器操作和状态的信息。日志记录分为两大类:执行日志记录和跟踪日志记录。执行日志记录包含有关报表执行统计信息、审核、性能诊断和优化的信息。跟踪日志记录包含有关错误消息和常规诊断的信息。

1. 使用 ExecutionLog 和 ExecutionLog3 视图

执行日志是存储在报表服务器数据库中的一个 SQL Server 视图。

报表服务器执行日志包含有关特定报表的数据。这些数据包括报表的运行时间、运行者、分发位置以及使用的呈现格式。

见:https://learn.microsoft.com/en-us/sql/reporting-services/report-server/report-server-executionlog-and-the-executionlog3-view?view=sql-server-ver17

2. Report server service trace log

服务跟踪日志包含详细信息,这些信息对于调试应用程序或调查问题或事件非常有用。跟踪日志文件名为 ReportServerService_<timestamp>.log,位于以下文件夹中:

  • 在 SQL Server Reporting Services 2016 或更早版本中:C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\LogFiles
  • 在 SQL Server Reporting Services 2017 中:C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\LogFiles

3. Report server HTTP log

HTTP 日志文件包含报表服务器 Web 服务处理的所有 HTTP 请求和响应的记录。默认情况下, log 文件名为 ReportServerService_HTTP_\<timestamp>.log

4. Windows Application Log

Microsoft Windows 应用程序日志包含有关报表服务器事件的信息。

See: https://learn.microsoft.com/en-us/sql/reporting-services/report-server/reporting-services-log-files-and-sources?view=sql-server-ver17

在 Reporting Services 中使用 ExecutionLog 和 ExecutionLog3 视图

Reporting Services 报表服务器执行日志包含有关在服务器或多个服务器上执行的报表的信息。这些服务器位于本机模式横向扩展部署或 SharePoint 场中。您可以使用报表执行日志来了解:

  • 报表被请求的次数。
  • 最常用的输出格式。
  • 每个处理阶段花费的时间(以毫秒为单位)。

日志包含有关运行报表数据集查询所花费的时间以及处理数据所花费的时间的信息。如果您是报表服务器管理员,您可以查看日志信息并识别运行时间较长的任务。您还可以向报表作者提出关于数据集或报表处理方面可以改进的建议。

查看日志信息

报表服务器会将报表执行的相关数据记录到内部数据库表中。这些信息可以通过 SQL Server 视图获取。

报表执行日志存储在报表服务器数据库中,该数据库的默认名称为 ReportServer。SQL 视图提供执行日志信息。23 视图是在较新版本中添加的,它们包含新的字段,或者包含比之前版本更易于理解的字段名称。旧版本视图仍然保留在产品中,以确保依赖这些视图的自定义应用程序不受影响。如果您不依赖旧版本视图(例如 ExecutionLog),则应使用最新版本视图 ExecutionLog3。

为原生模式服务器启用详细日志记录

您需要按照之前的步骤启用日志记录,然后完成以下步骤:

在“服务器属性”对话框中,选择“高级”页面。

在“用户定义”部分,将“ExecutionLogLevel”更改为“verbose”。此字段为文本输入字段,两个可能的值是“verbose”和“normal”。

日志字段 (ExecutionLog3)

此视图在基于 XML 的 AdditionalInfo 列中添加了更多性能诊断节点。AdditionalInfo 列包含一个包含一个或多个信息字段的 XML 结构。以下示例显示了一个 Transact SQL 语句,该语句从 ExecutionLog3 视图中检索行。此示例假定报表服务器数据库名为 ReportServer:

Use ReportServer  
select * from ExecutionLog3 order by TimeStart DESC

Source

报告执行的来源。可能的值:

  • Live 实时
  • Cache 缓存:表示缓存执行,例如,数据集查询不会实时执行。
  • Snapshot 快照
  • History 历史记录
  • Adhoc 即席:表示基于动态生成的报告模型的钻取报告。它也可以指在客户端预览的 Report Builder 报告,该报告使用报告服务器进行处理和渲染。
  • Session 会话:表示在已建立的会话中发起的后续请求。例如,初始请求是查看第 1 页,后续请求是在当前会话状态下导出到 Excel。
  • Report Definition Customization Extension 报告定义自定义扩展 (RDCE):表示报告定义自定义扩展。RDCE 自定义扩展可以在报告执行时,将报告定义传递给处理引擎之前动态自定义报告定义。

See: https://learn.microsoft.com/en-us/sql/reporting-services/report-server/report-server-executionlog-and-the-executionlog3-view?view=sql-server-ver17

SSRS Report Server HTTP log

报表服务器 HTTP 日志文件记录了报表服务器处理的每个 HTTP 请求和响应。由于 请求溢出和超时错误不会到达报表服务器,因此它们不会记录在日志文件中。

HTTP 日志记录默认情况下未启用。您必须修改 ReportingServicesService.exe 配置文件才能在您的安装中使用此功能。

查看日志信息

该日志是一个 ASCII 文本文件。您可以使用任何文本编辑器查看该文件。报表服务器 HTTP 日志文件与 IIS 中的 W3C 扩展日志文件类似,并使用类似的字段,因此您可以使用现有的 IIS 日志文件查看器来读取报表服务器 HTTP 日志文件。下表提供了有关 HTTP 日志文件的更多信息:

log 文件信息 说明
log 文件名 默认情况下, log 文件名为 ReportServerService_HTTP_\<timestamp>.log. 可以通过修改配置文件 ReportingServicesService.exe.config 中的 HttpTraceFileName 属性来定制文件名前缀。时间戳基于 UTC 时间
log 文件位置 log 文件位于 \Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles.
log 文件格式 The file is in EN-US format. It's an ASCII text file.
File creation and retention The HTTP log is created after you enable it in the configuration file, restart the service, and the report server handles an HTTP request. If you configure the settings but don't see the log file, open a report or start a report server application, such as the web portal. This action generates an HTTP request to create the file.
A new instance of the log file is created after each service restart and subsequent HTTP request to the report server.
By default, trace logs are limited to 32 megabytes and deleted after 14 days.

配置并启用 HTTP log

要配置报表服务器 HTTP 日志,请使用记事本修改 ReportingServicesService.exe.config 文件。该配置文件位于 \Program Files\Microsoft SQL Server\MSSQL.n\Reporting Services\ReportServer\Bin 文件夹中。

要启用 HTTP 服务器,您必须在 ReportingServicesService.exe.config 文件的 RStrace 部分添加 http:4。所有其他 HTTP 日志文件条目都是可选的。以下示例包含所有设置,您可以将整个部分复制粘贴到 RStrace 部分,然后删除不需要的设置。

<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="HttpTraceFileName" value="ReportServerService_HTTP_" />  
         <add name="HttpTraceSwitches" value="date,time,clientip,username,serverip,serverport,host,method,uristem,uriquery,protocolstatus,bytesreceived,timetaken,protocolversion,useragent,cookiereceived,cookiesent,referrer" />  
         <add name="Components" value="all:3,http:4" />  
</RStrace>

日志文件字段

下表描述了日志中可用的字段。字段列表是可配置的;您可以通过 HTTPTraceSwitches 配置设置指定要包含哪些字段。默认列指示如果您未指定 HTTPTraceSwitches,该字段是否会自动包含在日志文件中。

See: https://learn.microsoft.com/en-us/sql/reporting-services/report-server/report-server-http-log?view=sql-server-ver17

posted on 2025-12-18 13:23  冠军  阅读(4)  评论(0)    收藏  举报