我正在尝试执行一个大型 SQL 脚本,其中包含大约 1000000 个简单的 UPDATE
查询。
此脚本文件的总大小约为 100 MB。
当我运行此脚本时,出现内存不足异常。
当我将文件分成 10 MB 的 block 时,我可以运行每个 block 。
但是,为了方便起见,我只想一次运行一个脚本。我是否可以引入任何语句,以便 SQL Server 在运行每个查询后释放分配的内存,以便我可以立即执行这个大脚本?
最佳答案
如果您还没有这样做,请每千个语句左右插入一个 GO
。否则整个文件将是一大批。 SQL Server 计算批处理的单个执行计划,这可能会将您推向资源限制。
如果您在同一事务中运行整个文件,您可能会遇到另一种类型的资源问题。事务越大,TX 日志文件完成文件处理所需的磁盘空间就越大。
关于sql - SQL Server 2012 内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244491/