Summary
This letter describes the architecture for the SSRS Report Subscription, including:
1. Its database and tables for storing the subscriptions information, and
2. The approach for triggering and rendering the subscriptions
Details
SSRS has two databases -- primary one named SSRSReports and an other working database named SSRSReortsTemp. the subscription data is spread among the tables of Subscription, Reports, and Events in the SSRSRreports database.
Tables Schema
Triggering the Subscription Schedule Report
Subscriptions are triggered by scheduled SQL jobs. These jobs can be found along with SQL jobs defined by users in the job section using the SSMS.
Such a job is ceated for each report subscription when the subscription was created. These jobs are named using the subscriptions' GUID and scheduled according to the subscriptions' schedule. See highlighted samples below.
Once a job is triggered by SQL job agent, it enters a "TimedSubscription" event into the Event table. SQL agent checks the table every 10 seconds to pickup the new event and renders the report.