【问题标题】:Insufficient memory to continue the execution of the program in SQL Server 2008 R2内存不足,无法继续执行 SQL Server 2008 R2 中的程序
【发布时间】:2017-02-23 05:25:38
【问题描述】:

SQL Server 2008 R2 warning when tried to execute the script of size approx 500MB

当我尝试执行大约 500 mb 的 SQL 脚本时。 Management Studio 抛出错误

内存不足,无法继续执行程序

我的系统内存是 8GB,只有 3GB 可用。我试过 SQLCMD 但它不起作用。对此还有其他解决方案吗?

当我尝试使用脚本方法将更高版本 (SQL Server 2014) 备份到较低版本 (SQL Server 2008 R2) 的数据库还原时遇到了这个问题。

【问题讨论】:

  • 检查 temp db 指向的驱动器是否存在空间问题..
  • 是的..我已经检查了 TempDB 的位置,我没有发现任何空间问题..我大约有 100 GB
  • 听起来您在脚本中有无数的插入语句。也许您应该尝试将每个表 BCPing 到本机文件。

标签: sql-server sql-server-2008-r2


【解决方案1】:

我们可以使用命令行运行大型脚本。

即:

sqlcmd -S myServer\instanceName -U sqlusername -P sqlpassword -i C:\myScript.sql

link details

【讨论】:

    【解决方案2】:

    据此:

    https://technet.microsoft.com/en-us/library/ms143432(v=sql.105).aspx

    最大批处理大小为 256 MB (65.536 * 4 kB)。

    您必须将脚本拆分为几个较小的脚本。

    【讨论】:

    • 谢谢..您能告诉我将脚本与 BCP OUT 和 BULK INSERT 分开以插入数据的可能方法。
    • 我可能会为每个表的数据创建一个单独的脚本。
    • 谢谢...也许我会尝试一下。如果您对此有任何其他解决方案,可以分享一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多