Report Processor is a Reporting Services component that processes reports and report models.
Report processing is initiated through requests for a published report and requests for temporary drillthrough reports that are autogenerated when you use the model-driven report functionality in SQL Server 2005 Reporting Services.
When a report processing request is made for a published report, the Report Processor gets the report definition from the report server database, initializes parameters and variables that are in expressions, and performs other preliminary processing that prepares the report for data. The data processing extension then connects to the data source and retrieves the data. The Report Processor combines the report data with the report layout from the report definition. Data is processed by row for each section. Sections include the report header and footer, group headers and footers, and detail. Aggregate functions and expressions are also processed at this time. During the rendering stage, the rendering extension paginates the report and processes expressions that cannot be processed during the execution stage. The report is then rendered in the appropriate device-specific format.
Report processing for drillthrough reports is similar, except that reports can be autogenerated from models rather than report definitions. Data processing is initiated through the model to retrieve data of interest.
The Report Processor responds to these requests:
Request for an on-demand report. The action of a user opening a report that is configured to run on demand triggers report processing on the report server. The Report Processor retrieves the report definition, sends the request for data to a data processing extension, combines the report definition with the data, sends it to a rendering extension, and returns the rendered report.
Request for a cached report or snapshot. The action of a user opening a report that is configured to run from a cached copy or report snapshot triggers report processing. If the report is cached, the report processor retrieves it and directs it to the user's browser.
Request from the Scheduling and Delivery Processor. The Report Processor retrieves the report definition, sends the request for data to a data processing extension, combines the report definition with the data, and stores the compiled report in the report server database.
Reports can use report models as an interface to underlying data sources. Models specify metadata and include references to shared data sources that define the data connection. Model processing occurs on the report server whenever the following user actions are performed:
Exploring a model in Report Builder.
Querying model data when building a report in Report Builder.
Navigating drillthrough reports on a report server.