管理运行中的进程

SQL Server Reporting Services 可监视正在报表服务器上运行的作业的状态。报表服务器会定期扫描正在进行的作业,并将状态信息写入到报表服务器数据库中。如果正在执行以下任意进程,则表明正在处理作业:对远程或本地数据库服务器的查询执行、报表处理以及报表呈现。

您可以同时管理“用户作业**”和“系统作业**”。用户作业是由各个用户或订阅启动的。这包括按需运行报表,请求报表历史记录快照,手动创建报表快照,以及处理标准订阅等。系统作业是由报表服务器启动的。系统作业包括计划的报表执行快照、计划的报表历史记录快照以及数据驱动订阅。

根据报表、查询复杂程度、数据量以及为报表指定的呈现格式,报表处理时间和资源使用情况会有很大的差异。具有对本地数据源的简单查询的报表通常会在数毫秒内完成,因此从不需要进行管理或优化。相反,以 PDF 或 Excel 格式呈现的大型报表可能需要很长的处理时间,这取决于硬件资源、传递选项以及是否有其他进程正在并发运行。在报表服务器上,大多数长时间运行的进程都是一些报表呈现操作以及等待查询处理结束的进程。有时,您可能希望将计算机脱机,或停止需很长时间才能完成的运行中作业,在这种情况下,则需要取消报表进程。

查看和取消作业

默认情况下,一个作业必须至少运行 60 秒,才能反映在报表管理器或 SQL Server Management Studio 中。您必须刷新相应的页面,才能从报表服务器数据库中获取最新的作业状态信息。

  • 报表管理器提供了“管理作业”页,用于查看和取消正在进行的作业。
  • Management Studio 提供了“作业”节点,展开该节点后即可显示正在运行的作业。作业状态信息将显示在左侧窗格中。
ms156304.note(zh-cn,SQL.90).gif注意:
您可以列出或取消正在进行的报表,以及正在服务器上或在报表服务器扩展部署中处理的标准订阅。但不能列出或取消数据驱动订阅。

取消作业时,取消的仅仅是运行在报表服务器上的进程。由于报表服务器不管理其他计算机上的进程,因此随后必须在其他系统上手动取消所孤立的查询进程。可以考虑指定查询超时值以自动关闭执行时间过长的查询。有关详细信息,请参阅设置报表执行超时值。有关临时暂停报表的详细信息,请参阅暂停报表和订阅处理

您还可以通过编程的方式或通过使用脚本来管理作业。有关详细信息,请参阅 ListJobsCancelJob脚本示例 (Reporting Services),以查看取消正在运行的作业的示例脚本。

ms156304.note(zh-cn,SQL.90).gif注意:
在极少数情况下,可能需要重新启动服务器才能取消进程。有关详细信息,请参阅启动和停止报表服务器 Windows 服务

为正在运行的进程配置状态信息

正在运行的作业存储在报表服务器的临时数据库中。您可以修改 RSReportServer.config 文件中的配置设置,以控制报表服务器扫描正在进行的作业的频率,以及正在运行的作业的状态在多长时间间隔后从“新”更改为“正在运行”。RunningRequestsDbCycle 设置指定报表服务器扫描正在运行的进程的频率。默认情况下,每隔 60 秒记录一次状态信息。RunningRequestsAge 设置指定作业的状态从“新”更改为“正在运行”的时间间隔。

请参阅

概念

RSReportServer 配置文件
管理 Reporting Services
报表管理器
监视报表服务器性能

其他资源

部署 Reporting Services
“管理作业”页(报表管理器)
管理报表处理

帮助和信息

获取 SQL Server 2005 帮助