SQL 服务器和批量插入 - 何时发生

SQL Server and bulk insert - when it will happen

我的问题是在将行插入 table 时何时可以进行批量插入? 我知道有时我们可以限制批量插入,但我听说如果 sql 服务器无法进行批量插入,那么它就不会发生。

什么时候可以发生,什么时候不能发生?

当我们通过 SSIS 加载数据时,例如OLE DB 目标组件它有快速加载的选项,通过检查事务日志我们可以看到批量插入正在发生(事务日志增长很少),但有时它不会发生。为什么?批量插入的条件是什么?

我正在 SQL Server 2012 开发人员版中进行检查。

当您执行批量插入时,它总是 将执行批量插入。可能会出错,但不会'not happen'。您实际指的是批量插入是否会最少记录。尽管这些概念是相关的,但这是一个非常不同的问题。我不会在这里重申对最少日志记录操作的要求。相反,我敦促您阅读关于该主题的现有非常好的文档:

请注意,SQL Server 2008、2012、2014 和 2016 之间存在一些差异,因为这是一个开发领域,之前的一些限制已在更高版本中取消。阅读上面链接中的文章。上一篇链接的文章数据加载性能指南是关于此主题的 参考。