【问题标题】:Query completed with errors while major inserting in query在查询中主要插入时查询完成并出现错误
【发布时间】:2019-12-12 08:38:40
【问题描述】:

我有一个 SQL 文件,它有 140.000 行,只有插入语句。当我尝试复制和粘贴时,有时它会抛出:

内存不足异常

在 SQL Server 上。有时我会得到

查询完成但有错误

当我使用 'ctrl + A' 执行整个插入语句时出错。有没有可能的方法来清除 SQL Server 缓存或为此?

【问题讨论】:

  • 研究使用 SQL Server 的批量插入工具,而不是从 CSV 文件加载。
  • 不确定缓存是如何进入其中的?
  • 这个有 140000 行的 SQL 文件是 csv 文件吗?
  • 它的 sql 文件。有性能差异吗?

标签: sql-server caching memory


【解决方案1】:

这个问题有很多原因:

  • 没有足够的内存分配给 SSMS 结果更大 结果。 Microsoft SQL Server Management Studio 是一个 32 位进程。 因此,它被限制为 2 GB 内存。
  • SSMS 对可以显示的文本进行了人为限制 结果窗口中的每个数据库字段。此限制为 64 KB “网格”模式和 8 KB 的“文本”模式。
  • 您的结果集太大,显示 ypur 所需的内存 查询结果可能会超出 SSMS 进程的限制。大结果 设置会导致 System.OutOfMemoryException 错误。

解决方案:

  1. 配置查询窗口,将查询结果输出为 text.A text 输出使用的内存比网格少,足以显示 查询结果。要更改此设置,请按以下步骤操作:

    在查询窗口右键->点击Results to->点击Results to Text。

  2. 右键单击查询窗口->单击结果到->单击结果到 文件然后运行 ​​SQL 查询,然后选择您想要的位置 保存结果文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多