Home > Articles > Data > SQL Server

  • Print
  • + Share This
This chapter is from the book

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).

  • + Share This
  • 🔖 Save To Your Account