SSRS和3,000,000行的报告

时间:2014-09-18 15:00:57

标签: reporting-services

我有带SSRS的SQL Server 2008 R2。我创建了一个SSRS报告,最多可包含3,000,000行。

当我试图生成如此庞大的报告时,我看到了以下图片:

  • 存储过程(将数据带入报告的过程)工作50秒
  • 此后,SSRS ReportingServivesService.exe开始消耗大量内存。它的工作集增长到11 GB。花了6分钟;然后报告生成失败,并显示以下错误消息:
  

报告处理期间发生错误。 (rsProcessingAborted)
  磁盘上没有足够的空间。

“磁盘上没有足够的空间。” - 这可能与Windows页面文件映射到的服务器上的磁盘驱动器有关。该驱动器有14 GB的可用空间。

注意:报告未设计为单页报告。它在页面上划分为40行。当我尝试使用10,000行生成相同的报告时 - 只需1分钟。

问题是:这可以以某种方式解决吗?

1 个答案:

答案 0 :(得分:2)

SSRS非常不适合这种情况。像BCP或SSIS这样的工具似乎更适合这项任务。您提出的问题("我的情况可以修复和#34;)除了通过证明可以完成后对您负责之外,并不是很容易回答。

根据我的经验,我不会考虑尝试在SSRS中使用300万行。

如果您坚持或被迫尝试,可以采取以下措施来改善这种情况:

  • 深入了解rdl并删除您不需要的所有内容<字体说明,尺寸,图像等。如果文件仍然有效,请定期检查设计人员。您甚至可以考虑使用尽可能少的额外功能重建报告。
  • 将任何表达式或动态ssrs位移动到查询中。
  • 删除单元格的所有格式和格式。
  • 增加磁盘内存空间。如果您被迫在SSRS中生成如此重要的报告,您将需要它。关闭任何其他应用程序,您的PC或服务器将需要它可以获得的所有资源。通常情况下,我认为这是一个非选项/作为一种指示,你需要不同的工具。但我开始听起来像是一张破纪录的照片:)。
  • 明智地选择导出格式。 Excel或PDF将需要许多额外的资源,例如CSV渲染器会更友好。