SQL没有足够的系统内存运行 一次性执行4W条update,在本机上执行8分钟,在服务器上报错:没有足够的系统内存运行。。这个如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 4w就内存不足了。。好像pc都不会吧~是服务器吗? 服务器是多少位的啊?你看一下服务器属性-》内存中AWE内存分配选项是否开启,如果没开启的话开启它,不过要重启服务如果不想重启服务的话,update的时候就一次少更新点,一批一批的更新吧 SELECT bpool_commit_target [内存目标的页数] , bpool_committed [缓冲区高速缓存中当前提交的页数]FROM sys.dm_os_sys_info 看看结果 我的执行8分钟的电脑 SQL服务器内存3066M 没有打开AWE内存分配选项137738 ,10811服务器(运行了其他程序,不能重启服务)128000,128000服务器内存4087M 没有打开AWE内存分配选项 sql += "update [Nop_ProductVariant] set SKU='c'+'" + first + "'+'" + second + "'+RIGHT('00000'+CAST(ProductID AS VARCHAR),6)" + " where [ProductVariantId]=" + productVariantId + ";";我是把4W条sql拼接到一起传到一个方法里面更新的ProductVariantId是主键 运行了别的服务都被占掉了内存,不足是很正常的拉。另外你7楼说的,明显是在挑战服务器的极限。改成参数化和存储过程实现吧。纯sql执行一般不会出现问题,但是你这样执行,缓冲区一下子都给你代码给占光了。看清楚哦,是代码不是数据。 为了实现mssql高可用性,复制订阅、镜像这些实现技术,哪种更好? 不允许修改某一个值用触发器还是CHECK sql查询问题 怎样将字符串的执行后付值给变量 sql server数据库如何删除指定行?通过表中自带的id? 如何在一个存储过程返回的记录集中继续提取信息? 记录返回问题!感谢帮我解决 备份与还原 一个超级严重的问题。是不是SQL SERVER的BUG?谁能帮忙解决?分不够可以继续+。 动态sql语句的游标使用! 分区查询的问题 这条语句要怎么改。。。
AWE内存分配选项是否开启,如果没开启的话开启它,不过要重启服务
如果不想重启服务的话,update的时候就一次少更新点,一批一批的更新吧
bpool_committed [缓冲区高速缓存中当前提交的页数]
FROM sys.dm_os_sys_info
看看结果
137738 ,10811
服务器(运行了其他程序,不能重启服务)
128000,128000
服务器内存4087M 没有打开AWE内存分配选项
sql += "update [Nop_ProductVariant] set SKU='c'+'" + first + "'+'" + second + "'+RIGHT('00000'+CAST(ProductID AS VARCHAR),6)"
+ " where [ProductVariantId]=" + productVariantId + ";";我是把4W条sql拼接到一起
传到一个方法里面更新的
ProductVariantId是主键