SQL Server出现出现System.OutOfMemoryException异常的解异常的解
决方法决方法
今天在用SQL Server 2008执行一个SQL脚本文件时,老是出现引发类型为“System.OutOfMemoryException”的异常错误,脚
本明明是从SQL Server 2008导出的,应该不会出错,研究了好久问题才得以解决。
出现这个错误的主要原因是由于SQL脚本文件太大,估计超过了100M了,解决方法就是把脚本文件分成几个脚本文件,分别
去执行即可。
来自微软官方的解决方案:
原因:原因:
因为计算机没有足够的内存来完成请求的操作,则会出现此问题。
在 SQL Server 2000 Reporting Services 的限制会导致内存绑定的处理报告的某些部分。例如,查询结果处理和对象模型呈现
受限于内存。
计算机没有足够的内存来完成请求的操作在一个或多个下列条件都为真:
1.一个报告是太大或太复杂。
2.其他正在运行的进程的费用是非常高的。
3.计算机的物理内存是太小。
处理报表,则分两个阶段。两个阶段是执行和呈现。在执行阶段期间或在呈现阶段,会出现此问题。
如果在执行阶段中,会出现此问题,此问题很可能是因为太多的内存消耗在查询结果中返回的数据。此外,下列因素会影响内
存消耗,在执行阶段:
1.分组
2.筛选
3.聚合
4.排序
5.自定义代码
如果在呈现阶段中会发生此问题,原因被与该报表显示何种信息以及报表显示信息的方式。
1.数量和类型的控件
2.这些控件之间的关系
3.格式设置
4.显示的数据量
解决方案:解决方案:
若要解决此问题,请使用下列方法之一。
方法方法 1
向计算机中添加足够的物理内存。
注意如果您超过 2 千兆字节 (GB) 的内存可以启用该 / 3gb 切换在 Boot.ini 文件中为更好的性能。 有关如何在 SQL Server 中
使用了 / 3gb 开关的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274750如何配置 SQL Server 使用 2 GB 以上物理内存
方法方法 2
将报告计划安排为在内存限制时较低的非高峰时段运行。
方法方法 3
调整所在进行相应设置。
注意:呈现时通过报告服务 Web 服务的报告,该报告服务 Web 服务从 Machine.config 文件中获得所在。但是,计划的报告呈
现由报表服务器的 Windows 服务。报表服务器的 Windows 服务获取从 RSReportServer.config 文件的所在。
有关所在的详细信息,请参阅”更多信息”一节。
方法方法 4
升级到 64 位版本的 Microsoft SQL Server 2005年报告服务。
评论10
最新资源