質問: 各バッチが完全にいっぱいになっていることを確認する必要がありますか?つまり、12028行のデータテーブルを持っていれば、バッチサイズを10kにするだけで、自動的に2バッチ、つまり10k inと1を2028で作成できますか? ありがとう。
回答: MSDNによると:SqlBulkCopy.BatchSize - > SqlBulkCopyインスタンスがUseInternalTransactionオプションを指定せずに宣言されている場合、行はサーバーBatchSize行に一度に送信されますが、トランザクション関連のアクションは実行されません。 UseInternalTransactionが有効な場合、行の各バッチは個別のトランザクションとして挿入されます。 > > BatchSizeプロパティは、いつでも設定できます。一括コピーがすでに進行中の場合、現在のバッチは以前のバッチサイズに従ってサイズが変更されます。後続のバッチは新しいサイズを使用します。 BatchSizeが最初にゼロで、WriteToServer操作がすでに進行中に変更された場合、その操作はデータを単一のバッチとしてロードします。同じSqlBulkCopyインスタンス上の後続のWriteToServer操作では、新しいBatchSizeが使用されます。 > > この情報に基づいて、バッチサイズを10k行に設定し、12k +を提供すると、複数のバッチが作成されると考えられます。