Scheduling Reports, Shared Datasets, and Subscriptions

You can schedule reports, shared datasets, and subscriptions in Report Manager to retrieve data and deliver reports and dataset queries at specific times or during off-peak hours. Schedules can run once or on a continuous basis at intervals of hours, days, weeks, or months. You can:

  • Schedule report delivery in a standard or data-driven subscription.

  • Schedule report history so that new snapshots are added to report history at regular intervals.

  • Schedule when to refresh the data of a report snapshot.

  • Schedule when to refresh the data of a shared dataset

  • Schedule the expiration of a cached report or shared dataset to occur at a predefined time so that it can be subsequently refreshed.

You can create a shared schedule if you want to use the same schedule information for many reports or subscriptions. Shared schedules are defined separately, and then referenced in reports, shared datasets, and subscriptions that need schedule information.

When you create a schedule, the report saves the schedule information in the report server database. The report server also creates a SQL Server Agent job that is used to trigger the schedule. Schedule processing is based on the local time of the report server that contains the schedule. The time format follows the Microsoft Windows operating system standard. For more information about the scheduling engine used in Reporting Services, see Scheduling and Delivery Processor.


Scheduled operations are not supported in SQL Server Express with Advanced Services. For more information about features in this edition, see Reporting Services in SQL Server Express with Advanced Services.

Why Use Shared Schedules?

In contrast with specific schedules that you define through report, shared dataset, or subscription properties, shared schedules are easier to manage and maintain for the following reasons:

  • Shared schedules can be managed from a central location, making it easier to compare schedule properties and adjust frequency and recurrence patterns if scheduled operations are running too close together or conflicting with other processes on your server.

  • Allows you to quickly adapt to changes in the computing environment. For example, suppose you have a set of reports that run at 4:00 A.M. after a data warehouse is refreshed. If the data refresh operation is rescheduled or is delayed, you can easily accommodate that change by updating the schedule information in a single shared schedule.

  • If you use only shared schedules, you know precisely when scheduled operations occur. This makes it easier to anticipate and accommodate server loads before performance issues occur. For example, if you decide to schedule computer backups at a specific hour, you can adjust shared schedules to run at different times.

Managing Shared Schedules

To manage shared schedules, use the Schedules page in Report Manager or the Shared Schedules folder in Management Studio. You can view all the shared schedules that are defined for the report server, pause and resume schedules (on Report Manager only), and select schedules to modify or delete. The Shared Schedules page summarizes the following information about the state of each schedule: frequency, owner, expiration date, and status.

You can tell whether a shared schedule is actively used by:

  • Inspecting the values in the Last Run date, Next Run date, and Status fields on the Shared Schedules page in Report Manager. If a schedule no longer runs because it has expired, the expiration date appears in the Status field.

  • Viewing the Reports page of a given Shared Schedule. This page lists all reports and shared datasets that use the shared schedule.

  • Viewing the report execution log files or trace logs to determine whether reports have been run at the times specified by the schedule. For more information, see Reporting Services Log Files.

In This Section