使用带有TABLOCK的INSERT BULK防止增长的事务日志

问题描述 投票:1回答:1

我正在编写一个从Spark-Scala应用程序写入SQL Server的进程。它为每个数据分区生成多个INSERT BULK(如预期的那样),批量化100K记录。

当我监视事务日志时,我可以看到它的填充,我希望INSERT BULK不会。

能否请您建议,我如何实现每批次的提交。

sql-server apache-spark jdbc bulkinsert sqlbulkcopy
1个回答
1
投票

当您的数据库恢复模型设置为完全时,批量插入将写入事务日志,并且事务日志将继续增长。您有两种选择:

  1. 在加载数据时将数据库恢复模型更改为批量记录,然后将其重置为完全
  2. 加载每个批次后(或每批次)修改您的进程以备份事务日志
© www.soinside.com 2019 - 2024. All rights reserved.