データの一括インポートおよびエクスポート(SQL Server)

対象者:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticsアナリティクスプラットフォームシステム(PDW)Microsoft FabricにおけるSQLデータベース

SQL Server では、SQL Server テーブルからのデータ (一括データ) の一括エクスポート 、および SQL Server テーブルまたはパーティション分割されていないビューへの一括データのインポートがサポートされています。

  • 一括エクスポート とは、SQL Server テーブルからデータ ファイルにデータをコピーすることです。

  • 一括インポート は、データ ファイルから SQL Server テーブルにデータを読み込むことを指します。 たとえば、データを Microsoft Excel アプリケーションから特定のデータ ファイルにエクスポートした後、そのデータを SQL Server テーブルに一括インポートできます。

データの一括インポートと一括エクスポートの方法

SQL ServerはSQL Serverテーブルからの一括エクスポートと、SQL Serverテーブルまたは非パーティションビューへの一括インポートをサポートしています。 使用できる基本的な方法を次に示します。

Method Description データをインポートする データをエクスポートする
bcp ユーティリティ コマンドラインユーティリティ(bcp.exe)で、データを一括エクスポートし、一括インポートし、フォーマットファイルを生成します。 Yes Yes
BULK INSERT ステートメント データ ファイルのデータをデータベース テーブルまたはパーティション分割されていないビューに直接インポートする Transact-SQL ステートメント。 Yes No
INSERT ... SELECT * FROM OPENROWSET(BULK...) ステートメント OPENROWSETバルク行セットプロバイダーを使い、INSERT文のデータを選択するためにOPENROWSET(BULK...)関数を指定することで、SQL Serverテーブルにデータを一括インポートする Transact-SQL 文です。 Yes No
SQL Server インポートおよびエクスポート ウィザード ウィザードは、データベース、スプレッドシート、テキストファイルなど多くの一般的なデータ形式間でデータのインポートとエクスポートを行う基本的なパッケージを作成します。 Yes Yes

SQL Serverへの一括インポート時にカンマ区切り値(CSV)ファイルを使用するルールについては、「まとめ取り出しまたはインポートのためのデータ準備」を参照してください。

Note

Azure Synapse Analytics区切られたファイルのインポートとエクスポートを行うbcpユーティリティのみをサポートしています。

ファイルの書式設定

bcp ユーティリティBULK INSERTOPENROWSET BULK はいずれも、各フィールドのフォーマット情報をデータファイルに保存する専用フォーマットファイルの使用をサポートしています。 また、フォーマット ファイルには、対応する SQL Server テーブルに関する情報が含まれる場合もあります。 formatファイルを使って、SQL Serverインスタンスからデータを一括エクスポートし、一括インポートするために必要なすべてのフォーマット情報を提供してください。

Important

bcpでAzure SQL Databaseからデータをインポートしたり、Azure Blob Storageにエクスポートしたりすることはできません。 BULK INSERTまたは OPENROWSET BULK を使用して、Azure Blob Storageにインポートまたはエクスポートします。

フォーマットファイルは、インポート時にデータファイル内のデータを柔軟に解釈し、エクスポート時にデータファイルのデータをフォーマットする柔軟性を提供します。 この柔軟性により、データを解釈したり、SQL Serverや外部アプリケーションの特定の要件に合わせて再フォーマットしたりするための特別なコードを書く必要がなくなります。 例えば、コンマ区切られた数値が必要なアプリケーションにデータを一括エクスポートする場合は、フォーマットファイルを使ってエクスポートしたデータにカンマをフィールドの終点として挿入します。

SQL ServerはXML形式ファイルと非XML形式ファイルの2種類のファイルをサポートしています。

フォーマット ファイルを生成できるツールは、 bcp ユーティリティ だけです。 詳細については、「 BCPでフォーマットファイルを作成」をご覧ください。 フォーマットファイルの詳細については、「 データのインポートまたはエクスポートのためのファイルフォーマット」をご覧ください。

Note

一括エクスポートやインポートの際にフォーマットファイルを提供しなければ、コマンドラインでデフォルトのフォーマットを上書きできます。