≡ Menu

Trigger SSRS Subscriptions Manually

Looking to resend a single SSRS subscription?

In a nutshell, subscriptions are configured via the Report Manager which then configures and are later triggered by a SQL Server Agent Job based on a Schedule ID. This schedule ID can be tied back to a report and a particular subscription owned by a user with the ReportSchedule table. From this point, you can then query the Subscriptions to see the associated User.

  1. Within the Report Manager, browse to edit page of the subscription you would like to manually trigger
  2. Locate the SubscriptionID GUID in the address bar
  3. Open SQL Server Management Studio (SSMS) and connect to the server with the ReportServer Database
  4. Run the query below replacing the SubscriptionID with what you found in step 3
  5. SELECT ScheduleID
    FROM ReportSchedule
    WHERE (SubscriptionID = '04109b04-aaaa-bbbb-cccc-fe271bde49a4')
  6. Manually execute the subscription without modifying the schedule with the query below, be sure to replace the EventData parameter with the ScheduleID returned in step 4.
  7. EXEC ReportServer.dbo.AddEvent @EventType='TimedSubscription', 
    @EventData='805cd511-cccc-bbbb-aaaa-3746daff3b95'

Want to dig a bit deeper? Starting with these tables will give you a head start.

ReportSchedule – Relationships between Schedules, Reports and Subscriptions
Schedule – Details of all schedules
Subscriptions – Subscription details including owners, last run status, parameters, etc.
Users – Ties the Owner’s GUID to a username

{ 7 comments… add one }
  • Brent Lamborn August 15, 2012, 11:10 am

    Just what I needed. Thanks!!

  • Alex December 14, 2012, 11:27 am

    I tried this but it didn’t work. However, when I used the SubscriptionID instead of the ScheduleID in the call to AddEvent, it worked.

  • sushanth February 4, 2014, 12:01 pm

    I tried this but it didn’t work. However, when I used the SubscriptionID instead of the ScheduleID in the call to AddEvent, it worked.

  • Will March 27, 2014, 11:07 am

    Thanks, very helpful. all the while I thought the subscription id can be derived issuing a newid() function, which drove me crazy…

  • chris April 16, 2015, 12:48 pm

    I tried this but it didn’t work. However, when I used the SubscriptionID instead of the ScheduleID in the call to AddEvent, it worked.

  • SAI May 14, 2015, 11:39 am

    Hi,

    What permissions do we require for the user id calling Addevent SP from a t-sql procedure.
    EXEC ReportServer.dbo.AddEvent @EventType=’TimedSubscription’,
    @EventData=’805cd511-cccc-bbbb-aaaa-3746daff3b95′

    I’m getting this error when we make above call
    The server principal is not able to access the database “ReportServer” under the current system context

  • Yogi August 23, 2015, 8:03 am

    I wonder does SSRS have an exnsteion for the TO field ;to leverage Active Directory so a subscription manager could select individual emails from a list instead of having to type it in.I’m new to SSRS (using it on 2005) and it looks sort of kludge-ey to have to manually enter addresses. Wondering if I have to write a custom control that can access AD and build the parameters list for the subscription table. Good article lots of useful detail for someone new to SSRS.

Leave a Comment