web-dev-qa-db-ja.com

48 GBのCSVファイルからSQL Serverにデータをインポートする

SQL Serverのデフォルトのインポートツールを使用して、サイズが約48 GBの巨大なデータファイルをインポートしています。それはアプリのためにうまく実行し続けます。 13000000行の挿入後、タスクは次のエラーで失敗します。私はcsvを開くことができません。巨大なので、行ごとに移動して統計を分析することもできません。私はこれをどう処理するか本当に混乱しています。

ERROR- Details SQL Server

2

Powershellを使用して、大きなCSVをSQLサーバーに高速でインポートできます。このスクリプト PowerShellを使用してCSVをSQL Serverにインポートするための高性能テクニック -Chrissy LeMaire(作成者 dbatools

以下は達成されたベンチマークです:

非インデックステーブルの場合、1分あたり535万行

クラスタ化インデックスを持つテーブルの場合、1分あたり435万行。

スクリプトはインポートを50K行にバッチ処理するので、インポート中にメモリを占有しません。

編集:SQLサーバー側-

  • 適切な復旧モデルが設定されていることを確認してください。このような負荷に対しては、一括復旧が最適な設定です。
  • 自動拡張は、パーセントではなく適切なMBに設定されます。
  • データファイルとログファイルの両方が十分な大きさでプロビジョニングされるため、自動拡張イベントが最小限に抑えられます。
  • ピーク時以外の時間にインポートを実行します。
  • データ読み込みのパフォーマンスガイド および 私の答え で説明されているベストプラクティスに従います。
  • インスタントファイル初期化が有効で、電力設定が高パフォーマンスに設定されています。
6
Kin Shah