sql-serverreporting-servicesssrs-subscription

SSRS: Report subscription ran on off-cycle schedule


SQL Server 2014

I have a shared schedule for quarterly reporting that is set to go out on the 1st day of Jan, April, July, and Oct. However, the report went out on August 1st. I checked the report server and confirmed that the schedule is not set to run for August but the actual schedule table shows that the report did run for August 1st. In the SQL Agent job history, there is only one run, which is for August 1st and it was executed by the service account. The subscription says the next run date is Oct 1st.

So, I am at a loss to understand why the report ran off schedule. The system appears to confirm that the report is scheduled correctly but the system seems to have ran it off schedule. Are there any other troubleshooting steps that I can follow for this?

Update (screenshot):

enter image description here


Solution

  • After our discussion in the comments, I guess that someone had the idea to rename the original job for the subscription to a human-readable name and didn't tell you before he left the company. To find that job, you can of course go through the list of jobs of SQL Server Agent and see if you can find a job with a name that has something to do with your report/subscription. If this isn't enough, open the Job Activity Monitor in SSMS (under SQL Server Agent) and look for a job that was last executed on August 1st at the time the emails went out. If this isn't successful and there are too many jobs to go through manually, I suggest to do the following:

    Then, find this <SubscriptionID> in the steps of jobs for SQL Server Agent using a query like this in the msdb database:

    SELECT j.[name] AS job_name, s.step_name
    FROM dbo.sysjobs j
      INNER JOIN dbo.sysjobsteps s ON j.job_id = s.job_id
    WHERE s.command like '%<SubscriptionID>%'
    

    (Replace <SubscriptionID> by the SubscriptionID of your subscription).

    I guess that you will find (at least) 2 jobs with this query, one with your quarterly schedule and one that is scheduled to run on August 1st, both with a jobstep command like EXEC dbo.AddEvent @EventType='TimedSubscription', @EventData='<SubscriptionID>' executed in the ReportServer database (with your <SubscriptionID>). Do whatever is appropriate with that second job.