SQL Serverでは、どのようにして一度に大規模なデータのインポートとエクスポートを行うことができますか?
SQL Serverでは、bcpコマンドラインユーティリティを使用してデータの一括インポートとエクスポートが可能です。以下に例をいくつか示します。
- バッチ データのインポート:
bcpコマンドラインユーティリティを使用して、テキストファイルからデータをテーブルにインポートします。たとえば、次のコマンドでは、data.txtというテキストファイルからdbo.MyTableというテーブルにデータをインポートします。
bcp dbo.MyTable in data.txt -T -c -S servername -d dbname
-T オプションは、SQL Server へのログインに Windows 認証を使用することを意味します。
「-c」パラメータは、インポートするデータを文字型として示します。
-Sパラメータは、SQL Serverインスタンスの名前を指定します。
-dパラメーターは、データをインポートするデータベースを指定します。
- 一括データエクスポート:
bcp コマンドラインユーティリティを使用して、テーブルからテキストファイルにデータをエクスポートします。たとえば、次のコマンドを実行すると、dbo.MyTable という名前のテーブルからデータが data.txt という名前のテキストファイルにエクスポートされます。
bcp dbo.MyTable out data.txt -T -c -S servername -d dbname
-T パラメーターは Windows 認証を使用して SQL Server にログインすることを示します。
-c 引数が指定されていると、データは、キャラクター形式で出力されます。
-S パラメータは SQL Server インスタンスの名前を指定します。
-d パラメータはデータのエクスポート先データベースを指定します。
これはデータを一括でインポートしてエクスポートする方法の1つにすぎず、SQL Serverでは、SQL Server Integration Services(SSIS)などのツールを使用することなど、同じ機能を実現できる別のアプローチがあります。