TABLOCKでINSERT BULKを使用してトランザクションログを増加させない

apache-spark bulkinsert jdbc sqlbulkcopy sql-server

質問

Spark-ScalaアプリケーションからSQL Serverに書き込むプロセスを作成しています。そのデータのパーティションごとに複数のINSERT BULKを生成し(期待通り)、100Kレコードをバッチサイズにします。

トランザクションログを監視しているときに、そのログがいっぱいになっていることがわかり、INSERT BULKで期待していました。

私はどのようにバッチごとにコミットを達成することができますお勧めしますか?

人気のある回答

DBリカバリモデルがフルに設定されている場合、一括挿入によりトランザクションログに書き込まれ、トランザクションログは引き続き増加します。あなたには2つの選択肢があります:

  1. データがロードされている間にデータベース回復モデルを一括ログに変更し、後でフルにリセットする

  2. 各バッチがロードされた後(または少数のバッチごとに)トランザクションログをバックアップするようにプロセスを変更する



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ