Managing a Running Process
SQL Server Reporting Services monitors the status of jobs that are running on the report server. At regular intervals, the report server does a scan of in-progress jobs and writes the status information to the report server database. A job is in progress if any of the following processes are underway: query execution on a remote or local database server, report processing, and report rendering.
You can manage both user jobs and system jobs. User jobs are initiated by an individual user or subscription. This includes running a report on demand, requesting a report history snapshot, manually creating a report snapshot, and processing a standard subscription. System jobs are initiated by the report server. System jobs include scheduled report execution snapshots, scheduled report history snapshots, and data-driven subscriptions.
Report processing time and resource use varies considerably depending on the report, the query complexity, the amount of data, and the rendering format that is specified for the report. Reports that have simple queries against a local data source will often complete in milliseconds and never require management or tuning. In contrast, a large report that is rendered in PDF or Excel might require significant processing time depending on hardware resources, delivery options, and whether other processes are running concurrently. On a report server, most long-running processes are report rendering operations and processes that are waiting for query processing to conclude. Occasionally, you might need to cancel a report process if you want to take a computer offline, or stop a running job that is taking too long to complete.
Viewing and Canceling Jobs
You can use SQL Server Management Studio to view or cancel a job that is running on the report server. You must refresh the page to retrieve a list of jobs that are currently running or to get up-to-date job status from the report server database. When you connect to a report server in Management Studio, you can open a Jobs folder to view a list of reports that are currently processing on the report server computer. Status information for each job is displayed in the Job Properties page. You can view status information for all jobs by opening the Cancel Report Server Jobs dialog box.
The following processes can be cancelled:
On-demand report processing.
Scheduled report processing.
Standard subscriptions owned by individual users.
Canceling a job only cancels the processes that are running on the report server. Because the report server does not manage data processing that occurs on other computers, you must manually cancel query processes that are subsequently orphaned on other systems. Consider specifying query time-out values to automatically shut down queries that are taking too long to execute. For more information, see Setting Time-out Values for Report and Shared Dataset Processing (SSRS). For more information about temporarily pausing a report, see Pausing Report and Subscription Processing.
In rare circumstances, you may need to restart the server to cancel a process. For more information, see Starting and Stopping the Report Server Service.
You cannot use Management Studio to list or cancel model generation, model processing, or data-driven subscriptions. Reporting a Services does not provide a way to cancel model generation or processing. However, you can cancel data-driven subscriptions using the instructions provided in this topic.
How to Cancel Report Processing or Subscription
In Management Studio, connect to the report server. For instructions, see How to: Connect to a Report Server in Management Studio.
Open the Jobs folder.
Right-click the report and then click Cancel Jobs.
How to Cancel a Data-driven Subscription
Open the RSReportServer.config file in a text editor.
Set it to False.
Save the file.
In Report Manager, delete the data-driven subscription from the Subscriptions tab of the report or from My Subscriptions.
After you delete the subscription, in the RSReportServer.config file, find IsNotificationService and set it to True.
Save the file.
Configuring Frequency Settings for Retrieving Job Status
A running job is stored in the report server temporary database. You can modify configuration settings in the RSReportServer.config file to control how often the report server scans for in-progress jobs and the interval after which the status of a running job changes from new to running. The RunningRequestsDbCycle setting specifies how often the report server scans for running processes. By default, status information is recorded every 60 seconds. The RunningRequestsAge setting specifies the interval at which a job is transitioned from new to running.
Managing Jobs Programmatically