2012-10-04 40 views
4

我在为商业智能开发工作室(BIDS)中创建的SSRS报告执行存储过程时遇到了超时问题。我的存储过程非常大,平均需要将近4分钟才能在SQL Server Management Studio中执行。所以我通过将“超时(以秒为单位)”增加到600秒(10分钟)来适应这种情况。我还将工具 - >选项 - >商业智能设计器 - >查询超时和连接超时的查询超时时间增加到600秒。BIDS SSRS在使用存储过程时报告查询超时问题,并适当设置了超时设置

最后,我创建了另外两个使用存储过程而没有问题的报告。 (它们很小,需要大约30秒才能执行)。对于我的数据集属性,我总是使用查询类型:“文本”,并使用EXEC命令调用存储过程。

任何想法为什么我的存储过程的兴趣仍然超时?

下面是我点击“刷新字段”后,收到错误消息:

“无法为查询创建字段列表验证您可以连接到数据源和您的查询。语法是正确的。“

详细

“超时过期。超时时间已过操作完成或服务器之前未响应。 该语句已终止。”

谢谢你的时间。

+1

首先,如果您的过程正在返回大量字段,则可能需要将其过滤为更小的块,因为内存限制。其次,如果报表中存在太多复杂的表达式/分组,则即使完成该过程,报表处理也可能会超时。看看是否有帮助。 – StevenWhite

回答

1

检查rsreportserver.config文件中的Add Key =“DatabaseQueryTimeout”Value =“120”的值。你可能还需要在那里增加它。

在该文件更多信息:

http://msdn.microsoft.com/en-us/library/ms157273.aspx

此外,除了什么对您帖子的第一个评论者指出,以我的经验,如果你是渲染PDF,这些也可以超时。您的大型数据集将返回给我一段合理的时间,但PDF的呈现可能会持续一段时间。尝试渲染到Excel。 BID结果呈现得相当快,但出口结果是可能导致问题的原因。

+0

我还应该补充一点,如果您使用的是旧版本的SSRS,则Excel 2005渲染限制为每张纸65,000行。您将需要动态添加一个分页符,它强制渲染的excel文件中的一个新工作表。 查看此链接,向下滚动到分页符部分 http://msdn.microsoft.com/en-us/library/ms157328.aspx –