Microsoft Dynamics 365 Blog

When it comes to the Report scheduling, the Microsoft SQL Server reporting services has a great set of features. In Microsoft Dynamics CRM a small subset of the reporting features are provided using a feature we call the “Report Scheduling”

The report scheduling feature has the ability to generate snapshots of the reports. The snapshot types can be either an ‘On Demand Snapshots’ or the ‘On-Scheduled Snapshots’. In CRM 3.0,the report scheduling feature was provided using the Microsoft 3.0 Report Scheduling Wizard.

In Microsoft Dynamics CRM 4.0, this feature was enabled with a component called the CRM Data Connector. It was needed on the server which hosted the Reporting services for CRM. Without that connect, you would get the following error message if you tried to schedule the reports in the CRM application:


Therefore as a prerequisite, you need to get the CRM data connector installed on the SRS server. The CRM data connector component is present in the CRM installation media. After the CRM data connector is installed on the SRS server, you can initiate the Report scheduling wizard by clicking on the “Workplace” area and “Reports” section in the “More Actions” grid.


What is a report snapshot?

A report snapshot is a report that contains layout information and query results that were retrieved at a specific point in time. The CRM application helps us create two types of snapshots:

     a. On Demand

     b. On Schedule

Unlike on-demand reports, which get up-to-date query results when you select the report, report snapshots are processed on a schedule and then saved to a report server. When you select a report snapshot for viewing, the report server retrieves the stored report from the report server database and shows the data and layout that were current for the report at the time the snapshot was created.

Why would you choose a report snapshot to use?

Report history: By creating a series of report snapshots, you can build a history of a report that shows how data changes over time.

Consistency: Use report snapshots when you want to provide consistent results for multiple users who must work with identical sets of data. With volatile data, an on-demand report can produce different results from one minute to the next. A report snapshot, by contrast, allows you to make valid comparisons against other reports or analytical tools that contain data from the same point in time.

Performance: By scheduling large reports to run during off-peak hours, you can reduce processing impact on the report server during core business hours.

Why use a Scheduling Wizard?

You can schedule reports in CRM to retrieve data and deliver reports 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.

The wizard takes its name from the ability to generate snapshots on a schedule—but you can also generate snapshots on demand. Also, you can:

     a. Schedule report delivery in a standard subscription

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

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

     d. Schedule when to refresh the data of a shared dataset

When you run the wizard on a report for the first time, you’ll be presented with the option of having the snapshots generated on demand or on a schedule.


On the next page you can specify the schedule which will be used to generate the snapshots. In the example below you can see that I want to generate a snapshot of the report on the Monday of every week at 8:00 AM. On the page after this, I can set when the schedule should begin and end. So in my example, I’ve started the schedule on the first Monday of October 2010 with no end date.

These are the two pages of the wizard you won’t see if you are generating an on-demand snapshot.

Please note in scheduling that the Report Server handles the timing, so for example if you want to generate a snapshot at 8AM Pacific time but your Report Server is in the Central time zone, you’ll have to schedule the snapshot generation for 10AM.



Snapshots are generated on the Reporting Services Report Server without any user input, so anything that you would normally set when viewing a report (parameters, default filter, etc.) need to be set before the snapshot is generated. With that said, the next page of the wizard allows you to set the report parameters. You can also set the default filter of the report by clicking on the “Edit Filter” button.


The final wizard page gives you a summary of the options you’ve selected over the previous pages. We can make a note of the “Snapshot Definition Name” is the name of the new report that will be created when you click “Create”. The new report is an exact copy of the original except that we set it to snapshot-only execution and save all of your preferences to the report.

Also observe the footnote of the page- that we only list the most recent eight snapshots that have been generated, and because of this we set the report to only keep the most recent eight snapshots. If you are creating an on-demand snapshot report, this page will also include an option to take a snapshot when you click the “Create” button.


After clicking Create, you’ll get a progress button processing the request and eventually finishes up with a success page. After closing the wizard you’ll see the new report copy in the grid (“Account Summary – Scheduled Snapshots” in the example below). If you are generating snapshots on a schedule, chances are you won’t have any snapshots at first, but once you get snapshots, you can see them by clicking the triangle to the left of the report icon. Then the snapshots will be listed by the time they were generated. Clicking on the snapshot time will open the snapshot in the CRM report viewer



Kalpana Chinnappa

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!