批量插入 - 最佳用法

yru*_*hka 5 sql-server-2008 insert bcp bulk

我需要将 1.5 亿行只有 int/bigint 列从一个 SQL 实例导出到另一个。我使用 BCP queryout 导出行和 BULK INSERT 将行导入另一个表。

我将 1.5 亿行拆分为 3 个 BCP 导出文件,每个文件有 5000 万行和 3 个 BULK INSERTS。它有效(15 分钟 BCP 输出/40 分钟批量插入),但我宁愿只导出一个文件并导入一个文件。

这在技术上是可行的,还是我可能会遇到大量行的问题?我从未从 BCP 文件中导入超过 5000 万行,我不确定这如何解决。BCP 导出或导入有限制吗?

谢谢,

SQL*_*tar 3

从技术上来说这是可能的,是的。但是,您可以通过在多个磁盘上放置多个文件(而不是仅一个文件)来提高性能。为什么不尝试使用一个文件并看看它是否有效以及性能如何?

以下是有关批量插入的信息的链接:http://msdn.microsoft.com/en-us/library/ms188365.aspx