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.
By default, a job must be running for at least 60 seconds before it is reflected in Report Manager or SQL Server Management Studio. You must refresh the page to get up-to-date job status from the report server database.
Report Manager provides a Manage Jobs page that you can use to view and cancel a job that is in progress.
Management Studio provides a Jobs node that you can expand to show running jobs. Job status is displayed in the left pane.
|You can list or cancel in-process reports and standard subscriptions that are processing on the server or on a report server scale-out deployment. You cannot list or cancel data-driven subscriptions.|
Canceling a job only cancels the processes that are running on the report server. Because the report server does not manage processes 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 Execution. For more information about temporarily pausing a report, see Pausing Report and Subscription Processing.
You can also manage jobs programmatically or by using a script. For more information, see ListJobs, CancelJob and Script Samples (Reporting Services) to view a sample script that cancels running jobs.
|In rare circumstances, you may need to restart the server to cancel a process. For more information, see Starting and Stopping the Report Server Windows Service.|
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.