SQLServerで大量データをまとめてINSERTする方法

こんちにはmorimoriです。

最近仕事で10万件のデータをSQLServerに登録する際にバルクコピーを教えてもらったのでメモしておきます。

経緯としては、クエリを作成する際にメモリリークするし、インサートでタイムアウトして上手いこといかなかったので、SqlBulkCopyを使用したところ数秒で登録することができました。

バルクコピーには3つの方法があります。

1.bcpコマンド

bcp ユーティリティ | Microsoft Docs

2.bulk insert

BULK INSERT (Transact-SQL)

3.SqlBulkCopy

SqlBulkCopy クラス (System.Data.SqlClient)

こんな便利な方法があるとは知らなかった。