为报表和共享数据集处理设置超时值 (SSRS)

可以通过指定超时值来限制使用系统资源的方式。报表服务器支持两种类型的超时值:

  • 嵌入数据集查询超时值,即报表服务器等待数据库响应的秒数。此值在报表中定义。

  • 共享数据集查询超时值,即报表服务器等待数据库响应的秒数。该值是共享数据集定义的一部分,并且可在您在报表服务器上管理共享数据集时进行管理。

  • 报表执行超时值,即在停止前报表可持续处理的最大秒数。此值在系统级定义。可以针对不同的报表采用不同的设置。

大多数超时错误出现在查询处理期间。如果遇到超时错误,请尝试增大查询超时值。确保将报表执行超时值调整为比查询超时值更大的值。时间段必须足以完成查询和报表处理。

为报表中的嵌入数据集设置查询超时值

查询超时值是在创作报表过程中在定义嵌入数据集时指定的。该超时值随报表一起存储,它存储在报表定义的 Timeout 元素中。默认情况下,此值设置为 30 秒。有关详细信息,请参阅创建和添加数据集(Report Builder 3.0 和 SSRS)

对已发布报表的属性具有修改权限的用户可以通过编辑报表定义文件来重置此值。有关修改已发布报表的报表定义的详细信息,请参阅添加、修改和删除报表

还可以为数据驱动订阅指定查询超时值。查询超时值是在“数据驱动订阅”页中指定的。指定的值决定了报表服务器在从订阅服务器数据源检索数据时等待查询处理完成的时间。

为共享数据集设置查询超时值

当您创建或管理共享数据集时在报表服务器上以秒为单位指定查询超时值。默认情况下,该值设置为 0 秒,这相当于无超时值。有关详细信息,请参阅管理共享数据集

设置报表处理超时值

可以通过设置报表处理超时值来限制报表服务器用于处理报表的时间量。可以使用两个不同的过程来更改报表处理超时值:

  • 使用报表管理器:可以为“站点设置”页中的所有报表设置默认值,并可以在特定报表的“执行”属性页中覆盖该值。默认情况下,该值设置为 1800 秒。有关详细信息,请参阅设置报表处理属性

  • 使用 SQL Server Management Studio (SSMS):可以设置所有报表的执行超时值。在 SSMS 中,右键单击报表服务器的名称,然后单击**“属性”。在“服务器属性”窗口中,单击“执行”页,并更改“将报表执行时间限制为(秒):”**的值。有关详细信息,请参阅如何在 Management Studio 中连接到报表服务器

报表执行超时值的计算方法

报表服务器每隔 60 秒对正在运行的作业进行一次计算。每隔 60 秒,报表服务器就会将实际处理时间与报表执行超时值进行比较。如果报表的执行时间超过了报表执行超时值,则将停止报表处理。

请注意,如果指定的超时值小于 60 秒,且报表处理的开始时间和完成时间均发生在报表服务器未对正在运行的作业进行计算的空闲时间段,则报表可以完全执行。例如,如果将报表的超时值设置为 10 秒,而运行报表需要 20 秒,并且报表处理开始于 60 秒周期的前期,则报表可以完全处理。

注意注意

可以在 RSReportServer.config 文件中设置 RunningRequestsDbCycle 设置,以更改计算正在运行的作业的频率。

更改历史记录

更新的内容

添加了有关 SSMS 作为另一种更改属性的方法的信息。