Reporting Services provides shared schedules and report-specific schedules to help you control processing and distribution of reports. The difference between the two types of schedules is how they are defined, stored, and managed. The internal construction of the two types of schedules is the same. All schedules specify a type of recurrence: monthly, weekly, or daily. Within the recurrence type, you set the intervals and range for how often an event is to occur. The type of recurrence pattern and how those patterns are specified is the same whether you create a shared schedule or a report-specific schedule.
Both types of schedules yield the same output and have an almost identical composition in how they specify dates, times, and duration.
-
Shared schedules are portable, multipurpose items that contain ready-to-use schedule information. You create a shared schedule once, and then reference it in a subscription or property page when you need to specify schedule information. Shared schedules can be centrally managed, paused, and resumed. Because shared schedules are system-level items, creating a shared schedule requires system-level permissions. For this reason, a report server administrator or content manager typically creates the shared schedules that are available on your report server. Shared schedules are stored and managed on the report server by using Report Manager.
-
Report-specific schedules are defined in the context of an individual report, subscription, or report execution operation to determine cache expiration or snapshot updates. These schedules are created inline when you define a subscription or set report execution properties. You can create a report-specific schedule if a shared schedule does not provide the frequency or recurrence pattern that you need. To prevent a report from running, you must edit a report-specific schedule manually. Report-specific schedules can be created by individual users.
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.
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.
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.
Tags: SSRS 2008