- Report Server Web and Windows Service
- Programmatic Interfaces
- Report Processor
- Command-Line Utilities
- Reporting Services Extensions
- Report Server Databases
- Scheduling and Delivery Processor
- Report Builder NEW in 2005
- Report Model Designer NEW in 2005
- Report Designer
- Report Manager
- SQL Server Management Studio NEW in 2005
- Reporting Services Configuration Tool NEW in 2005
- RSPrintClient Control NEW in 2005
- Performance Monitoring Objects
- Summary
- WMI Provider
Scheduling and Delivery Processor
The Scheduling and Delivery Processor is hosted in SSRS Windows service and monitors for events. When the Scheduling and Delivery Processor receives an event, the Scheduling and Delivery Processor collaborates with the Report Processor to render a report. After a report is rendered, the Scheduling and Delivery Processor uses delivery extensions to deliver a report.
The Scheduling and Delivery Processor leverages the SQL Server Agent as a scheduling engine. The schedule is based on the local time of the Report Server that owns the schedule. When an administrator creates a new schedule, the SSRS creates a SQL Server Agent job to run on the requested schedule. Then SSRS adds a row in the Schedule table of the ReportServer database. The row's ScheduleId field is the job's identifier. Administrators can schedule subscriptions, report history, and snapshot execution.
When the scheduled time comes, the SQL Server Agent generates an event by executing the scheduled job. The job inserts a row in the Event table of the ReportServer database. This row serves as an event for the Scheduling and Delivery Processor.
The Scheduling and Delivery Processor checks the Event table every PollingInterval seconds and initiates appropriate actions as a response to an event.
The scheduling and delivery process "breaks" when either (or both) the SSRS Windows service is not running (the Scheduling and Delivery Processor is not processing events) or the SQL Server Agent is not running (the agent is not generating events).