设置报表处理超时值

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

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

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

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

设置查询超时值

查询超时值是定义数据集时在创作报表期间指定的。超时值随报表一起存储,它存储在报表定义的 Timeout 元素中。默认情况下,此值设置为 30 秒。有关详细信息,请参阅ms160345(v=sql.100).md

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

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

设置报表执行超时值

可以通过设置报表执行超时值来限制报表服务器用于处理报表的时间量。报表执行超时值可以在报表管理器中指定。可以为“站点设置”页中的所有报表设置默认值,然后覆盖特定报表的“执行”属性页中的值。默认情况下,该值设置为 1800 秒。有关详细信息,请参阅设置报表处理属性

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

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

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

注意注意

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