sql-server – 增加最大服务器内存以处理SQL Server上的System.OutOfMemoryException

我不是很有经验所以请耐心等待.

我一直在尝试将2500 MB和3800 MB CSV导入SQL Server 2016.不幸的是,我一直收到System.OutOfMemoryException错误.我的计算机有8.00 GB RAM,所以我想我只会将最大服务器内存从默认值增加到4000 MB.出于某种原因,虽然每次我尝试更改最大服务器内存以使其更高时,它会在我按下确定时更改回默认值.我该如何解决这个问题?

我正在使用BULK INSERT导入数据.未设置BATCHSIZE,KILOBYTES_PER_BATCH和ROW_PER_BATCH参数.

UPDATE

我决定拆分我的CSV文档,以便我可以一次导入更少的文档.不幸的是,当我尝试导入CSV的最后一段时,错误再次出现.

UPDATE

我已经设法将最大服务器内存大幅增加到4 GB.然而,这并没有解决问题.

最佳答案
您看到的System.OutOfMemoryException错误意味着SQL Server Management Studio出现问题,而不是服务器本身的内存量.触发此错误的一种简单方法是在大型表上运行SELECT查询.如果表太大,那么结果网格将占用太多内存,您将看到错误.

我不清楚为什么在导入数据时会遇到此错误,但提高最大服务器内存不是正确的修复方法.我建议在设置BATCHSIZE,KILOBYTES_PER_BATCH或ROW_PER_BATCH参数后尝试BULK INSERT.这将限制单个事务中发送的数据量.您也可以尝试通过bcp导入数据.您甚至不需要打开SSMS.

转载注明原文:sql-server – 增加最大服务器内存以处理SQL Server上的System.OutOfMemoryException - 代码日志