SQL Reporting Services-内存不足异常

时间:2020-03-06 14:46:26  来源:igfitidea点击:

我的单个SQL表中有大约10个lac记录。我需要将这么多的记录加载到我的记录中。我需要知道这是否会加载。当我尝试加载以报告其显示的内存不足异常时。

解决方案

除非我们扩展问题,否则这是不可能回答的。我们使用什么语言?哪个报告生成框架? SQL查询的外观如何?

编辑:嗯,好的,Microsoft SQL Reporting Services。好吧,我敢肯定,它应该可以轻松地处理具有成千上万元组的表上的查询。这完全取决于我们如何构造查询,因此,除非我们提供给我们,否则我们将无法为我们提供帮助。

我们是否要显示成千上万的记录?哪个用户会读过?我们是否尝试过计划和通过电子邮件发送报告?

Reporting Services(以及Cognos,Business Objects和其他BI报告套件)通常在呈现包含OUTPUT中成千上万条记录或者数百万条记录的报告时遇到问题。这些系统中的大多数在将数据聚合到成千上万的记录时都没有太大的问题,但是一旦我们开始进入成千上万或者数百万的记录,就会遇到内存错误。

我的建议是不要将Reporting Services用于成千上万行的报表。没有人会阅读报告中的所有内容。哎呀,由于65,556行的限制,如果我们尝试渲染到Excel,大多数BI套件甚至都不会输出报告。如果我们要允许用户在Excel中进行探索性的临时切片和切块分析,或者建议将其分解为更小,更相关的数据,以供用户使用,我建议对大型原始数据转储,Analysis Services多维数据集使用SSIS人类意义的汇总或者过滤到数百或者数千行。

如果必须使用报告服务,并且要将其用作将数据输入Excel的工具,则可以尝试通过订阅将其呈现为CSV。再次,我建议我们仅构建一个执行此操作的SSIS包,因为在输出数百万行CSV文件时不会遇到内存问题。但是,如果我们必须将报表服务用作输出工具,则可以通过使用最少占用内存的呈现方法来最大程度地减少内存成本。