Report Server Execution Log and the ExecutionLog3 view

The report server execution log contains information about the reports that execute on the server or on multiple servers in a scale-out deployment. You can use the report execution log to find out how often a report is requested, what formats are used the most, and how many milliseconds of processing time is spent on each processing phase. The log contains information on the length of time spent executing a report's dataset query and the time spent processing the data. If you are a report server administrator, you can review the log information and identify long running tasks and make suggestions to the report authors on the areas of the report (dataset or processing) they may be able to improve.

Report servers configured for SharePoint mode, can utilize the SharePoint ULS logs. For more information, see How to: Turn on Reporting Services events for the SharePoint trace log (ULS)

Viewing Log Information

The report server logs data about report execution into an internal database table. The information from the table is available from SQL views.

The report execution log is stored in the report server database that by default is named ReportServer. The following SQL views provide the execution log information. The “2” and “3” views were added in more recent releases and contain new fields or they contain fields with friendlier names than the previous releases. The older views remain in the product so custom applications that depend on them are not impacted. If you do not have a dependence on an older view, for example ExecutionLog, it is recommended you use the most recent view, ExecutionLog3.

Configuration Settings for the Report Server Execution Log

You can turn report execution logging on or off from the Server Properties page in SQL Server Management Studio.

By default, log entries are kept 60 days. Entries that exceed this date are removed at 2:00 A.M. every day. On a mature installation, only 60 days of information will be available at any given time.

  • ExecutionLog3

  • AdditionalInfo field

  • ExecutionLog2

  • ExecutionLog

You cannot set limits on the number of rows or on the type of entries that are logged. However, you can create reports that retrieve the log information you want to track.

Log Fields (ExecutionLog3)

This view added a few new fields including AdditionalInfo, that contains an XML structure of 1 to many additional fields of information. The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog3. The sample assumes the report server database is named ReportServer:

Use ReportServer
select * from ExecutionLog3 order by TimeStart DESC

The following table describes the data that is captured in the report execution log

Column

Description

InstanceName

Name of the report server instance that handled the request. If your environment has more than one report server, you can analyze the InstanceName distribution to monitor and determine if your network-load balancer distributes requests across report servers as expected.

ItemPath

Path of where a report or report item is stored.

UserName

User identifier.

ExecutionID

RequestType

Possible Values:

  • Interactive

  • Subscription

Analyzing log data filtered by RequestType=Subscription and sorted by TimeStart may reveal periods of heavy subscription usage and you may want to modify some of the report subscriptions to a different time.

Format

Rendering format.

Parameters

Parameter values used for a report execution.

ItemAction

Possible values:

  • Render

  • Sort

  • BookMarkNavigation

  • DocumentNavigation

  • GetDocumentMap

  • Findstring

  • Execute

TimeStart

Start and stop times that indicate the duration of a report process.

TimeEnd

TimeDataRetrieval

Number of milliseconds spent retrieving the data, processing the report, and rendering the report.

TimeProcessing

TimeRendering

Source

Source of the report execution (1=Live, 2=Cache, 3=Snapshot, 4=History).

Status

Status (either rsSuccess or an error code; if multiple errors occur, only the first error is recorded).

ByteCount

Size of rendered reports in bytes.

RowCount

Number of rows returned from queries.

AdditionalInfo

An XML property bag containing additional information about the execution. The contents can be different for each row.

Arrow icon used with Back to Top linkTop

AdditionalInfo

The following is an example:

<AdditionalInfo>
  <ProcessingEngine>2</ProcessingEngine>
  <ScalabilityTime>
    <Pagination>0</Pagination>
    <Processing>0</Processing>
  </ScalabilityTime>
  <EstimatedMemoryUsageKB>
    <Pagination>4</Pagination>
    <Processing>18</Processing>
  </EstimatedMemoryUsageKB>
  <DataExtension>
    <SQL>1</SQL>
  </DataExtension>
</AdditionalInfo>

The following table describes some of the values you will see in the AdditionalInfo table:

Property

Notes

ProcessingEngine

1=SQL Server 2005, 2=The new On-demand Processing Engine. If you a majority of your reports are still showing the value of 1, you may investigate how to redesign them so they utilize the newer and more efficient on-demand processing engine.

ScalabilityTime

The number of milliseconds spent performing scale related operations in the processing engine. A value of 0 indicates that no additional time was spent on scale operations and a 0 also indicates the request was not under memory pressure.

EstimatedMemoryUsageKB

An estimate of the peak amount of memory, in kilobytes, consumed by each component during a particular request.

DataExtension

The types of data extensions or data sources used in the report. The number is a count of the number of occurrences of the particular data source.

Arrow icon used with Back to Top linkTop

Log Fields (ExecutionLog2)

This view added a few new fields including AdditionalInfo, that contains an XML structure of 1 to many additional fields of information. The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog2. The sample assumes the report server database is named ReportServer:

Use ReportServer
select * from ExecutionLog2 order by TimeStart DESC

The following table describes the data that is captured in the report execution log

Column

Description

InstanceName

Name of the report server instance that handled the request.

ReportPath

The path structure to the report. For example a report named ”test” which is the in root folder in Report Manager, would have a ReportPath of “/test”.

A report named “test” that is saved in the folder “samples” on Report Manager , will have a ReportPath of “/Samples/test/”

UserName

User identifier.

ExecutionID

RequestType

Request type (either user or system).

Format

Rendering format.

Parameters

Parameter values used for a report execution.

ReportAction

Possible values: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring

TimeStart

Start and stop times that indicate the duration of a report process.

TimeEnd

TimeDataRetrieval

Number of milliseconds spent retrieving the data, processing the report, and rendering the report.

TimeProcessing

TimeRendering

Source

Source of the report execution (1=Live, 2=Cache, 3=Snapshot, 4=History).

Status

Status (either rsSuccess or an error code; if multiple errors occur, only the first error is recorded).

ByteCount

Size of rendered reports in bytes.

RowCount

Number of rows returned from queries.

AdditionalInfo

An XML property bag containing additional information about the execution.

Arrow icon used with Back to Top linkTop

Log Fields (ExecutionLog)

The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog. The sample assumes the report server database is named ReportServer:

Use ReportServer
select * from ExecutionLog order by TimeStart DESC

The following table describes the data that is captured in the report execution log

Column

Description

InstanceName

Name of the report server instance that handled the request.

ReportID

Report identifier.

UserName

User identifier.

RequestType

Possible values:

True = A Subscription request

False= An Interactive request

Format

Rendering format.

Parameters

Parameter values used for a report execution.

TimeStart

Start and stop times that indicate the duration of a report process.

TimeEnd

TimeDataRetrieval

Number of milliseconds spent retrieving the data, processing the report, and rendering the report.

TimeProcessing

TimeRendering

Source

Source of the report execution. Possible values: (1=Live, 2=Cache, 3=Snapshot, 4=History, 5=Adhoc, 6=Session, 7=RDCE).

Status

Possible values: rsSuccess, rsProcessingAborted, or an error code. If multiple errors occur, only the first error is recorded.

ByteCount

Size of rendered reports in bytes.

RowCount

Number of rows returned from queries.

Arrow icon used with Back to Top linkTop

Change History

Change History:

Date

Change

September 2011

Added information on the two newer views and simple syntax to retrieve rows from the views.