当前位置: 代码迷 >> Sql Server >> 存储过程执行过程中报 System.OutOfMemoryException,该怎么处理
  详细解决方案

存储过程执行过程中报 System.OutOfMemoryException,该怎么处理

热度:22   发布时间:2016-04-24 10:12:03.0
存储过程执行过程中报 System.OutOfMemoryException
请教各位大神,我在公司的服务器上写了一个比较大的存储过程,大约有1400行左右吧,执行到一半的时候报
System.OutOfMemoryException 然后就终止执行了,测试语句没有什么问题,只是单纯的内存不够,请问有什么好的办法来解决吗? 我用过DBCC FREEPROCCACHE   DBCC FREESESSIONCACHE   DBCC FREESYSTEMCACHE('All')   DBCC DROPCLEANBUFFERS 这样的释放缓存的语句在存储过程中,但是没什么效果。请教各位大神有好的办法解决这个问题吗?
------解决方案--------------------
System.OutOfMemoryException 是 .Net 程序的错误,调试程序去!

又:做存储过程是主要为了执行速度快(无网络交互)。
你这个跑出内存不足的过程还是考虑移到客户端实现吧,至少能分担下内存压力。
------解决方案--------------------
exec (@sql_exec); 改成print,然后看看出来什么语句
------解决方案--------------------
对于update的执行计划,可以用:
begin tran
update语句
rollbak
------解决方案--------------------
35个DataGrid,写程序从来不会用这么多!
你把输出改为文本方式,保留 SELECT 语句再试试,如果正常,那么就是显示控件耗费的内存问题了,和 SQL 无关。
  相关解决方案