【3分で流し読み】SQL Serverのbcpユーティリティとは?何ができる?

こんばんは。今日はSQL Serverで登場するbcpユーティリティを使う機会があったので、その際に調べたことも含めて、3分で概要を掴めるよう簡単にまとめておきたいと思います。

それではまいります。

bcpユーティリティとは?

まず公式ドキュメントはこちらです。

https://docs.microsoft.com/ja-jp/sql/tools/bcp-utility?view=sql-server-ver15

https://docs.microsoft.com/ja-jp/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server?view=sql-server-ver15

  • bulc copy program utilityを略してbcpユーティリティ
  • Microsoft SQL Server のインスタンスと、ユーザー指定の形式のデータファイルとの間でデータを一括コピーするコマンド ライン ツール
  • 実体はBcp.exe
  • データベースではなくて、クライアント側にインストールして使う
  • こちらのサイトからダウンロードできるsqlcmdツールに含まれている

bcpユーティリティでできること

こちらにも説明があります。要はデータの一括エクスポートとインポートができるツールになります。

https://docs.microsoft.com/ja-jp/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server?view=sql-server-ver15

  • テーブルからデータ ファイルにSQL Server一括エクスポートする
  • bcp ユーティリティは ODBC 一括コピーを使用して書き込まれる
  • クエリからのデータの一括エクスポート
  • データ ファイルからSQL Serverテーブルにデータを一括インポートする
  • フォーマット ファイルの生成

bcpとsqlcmdの違い

こちらの記事が分かりやすく参考になりました。

https://dev.classmethod.jp/articles/install-sqlcmd/

bcpは一括インポートとエクスポートに特化したコマンドラインツール、sqlcmdはもっと広くsql serverを操作できるコマンドラインツール、ということらしい。

他の一括処理ソリューションと比べたパフォーマンス

一括インポートでいうとBULK INSERTも候補に挙がるかと思います。

BULK INSERTとのパフォーマンスの違いについては、以下のブログの記事が参考になりました。

bcpコマンドを使えるようにする

なお、以下の通り、bcpコマンド含めたsqlcmdツールはAzure Cloud ShellやData Studio、SSMSといったツールと一緒にプレインストール済のようです。

https://docs.microsoft.com/ja-jp/sql/tools/sqlcmd-utility?view=sql-server-ver15&preserve-view=true#preinstalled

bcpがインストールされたローカル端末で”bcp -v”とうってみるとコマンドが使えることが確認できます。

以上、超簡単ですがbcpユーティリティについての流し読みでした。

すでに出尽くした情報かもしれませんが、参考になりましたら幸いです。

次の記事では、実際にこのコマンドを使ってAzure SQL Databaseへのインポート/エクスポートを試してみたいと思います

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。