sql - SQL Server 2012 内存不足异常

标签 sql sql-server sql-update bulk

我正在尝试执行一个大型 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/

相关文章:

java - 从 Groovy Sql 调用函数

sql-server - SQL Server,在多个数据库上执行批处理T-SQL脚本

sql - 如何在SQL中选择相似的集合

c# - 需要将一列分成两列

mysql - 满足条件时在同一查询中进行 UPDATE 和 INSERT

SQL表链接...有一个链接表还是一个分隔列更好?

mysql - SELECT 在 SELECT - UPDATE 事务期间返回更新的值

mysql - 插入到……重复 key 更新……。有条件?

Python SQLite : Update Statement TypeError: function takes exactly 2 arguments (1 given)

php - MySQL 5.5.32 上的连接问题