在 Reporting Services 中设置报表和共享数据集处理的超时值

在 Reporting Services 中,可以通过指定超时值来限制使用系统资源的方式。 报表服务器支持两个超时值:

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

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

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

大多数超时错误出现在查询处理期间。 如果遇到超时错误,请尝试增大查询超时值。 请确保调整报表执行超时值,使该值大于查询超时值。时间段应足以完成查询和报表处理。

设置报表中的内嵌数据集的查询超时

查询超时值是在创作报表过程中在定义嵌入数据集时指定的。 有关详细信息,请参阅报表的嵌入数据集和共享数据集(报表生成器和 SSRS)

要在报表生成器中设置查询超时值,请执行以下操作:

  1. 在“报表数据”窗格中,右键单击数据库。
  2. 选择“数据集属性”
  3. 在“数据集属性”对话框的“查询”选项卡上,在“超时”字段中输入超时值。

屏幕截图,显示了“数据集属性”对话框,其中突出显示了“超时”字段。

注意

对于 Power BI 中的分页报表,默认值设置为 600 秒。

设置数据驱动订阅的查询超时

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

设置共享数据集的查询超时

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

要在 Web 门户中设置查询超时值,请执行以下操作:

  1. 在“浏览”页上,选择“更多信息”>“管理”
  2. 在“属性”页面上,设置“查询超时(以秒为单位)”字段中的值。

屏幕截图,显示了数据集的“属性”页面,其中突出显示了“查询超时(以秒为单位)”字段。

设置报表执行超时

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

要在 Web 门户中为特定报表设置报表超时值,请执行以下操作:

  1. 在“浏览”页上,选择“更多信息”>“管理”
  2. 在“属性”页面上,选择“高级”>“报表超时”中的默认、自定义或无限期超时选项。

屏幕截图,显示了报表“属性”页面,其中突出显示了“报表超时”选项。

如何计算报表执行超时值

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

如果指定的超时值小于 60 秒,报表可能仍会运行。 当报表服务器未评估正在运行的作业时,将在周期的安静部分启动和完成处理程序。 例如,如果将报表的超时值设置为 10 秒,而运行报表需要 20 秒,并且报表处理开始于 60 秒周期的前期,则报表会完全处理。

注意

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