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

SQL Server では、テーブルからのデータの一括エクスポート ( 一括データのエクスポート SQL Server )、および SQL Server テーブルまたはパーティション分割されていないビューへの一括データのインポートがサポートされています。 一括インポートと一括エクスポートは、SQL Serverと異種データ ソース間で効率的にデータを転送するために不可欠です。 一括エクスポート とは、 SQL Server テーブルから特定のデータ ファイルにデータをコピーすることです。 一括インポート は、データ ファイルから SQL Server テーブルにデータを読み込むことを指します。 たとえば、データを Microsoft Excel アプリケーションから特定のデータ ファイルにエクスポートした後、そのデータを SQL Server テーブルに一括インポートできます。

このトピックの内容

一括インポートと一括エクスポートの概要

このセクションでは、データを一括でインポートおよびエクスポートするために使用できるさまざまな方法を示し、それらを簡単に比較します。 また、フォーマット ファイルについても説明します。

このトピックの内容

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

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

Method 説明 データのインポート データのエクスポート
bcp ユーティリティ データの一括エクスポートと一括インポート、およびフォーマット ファイルの生成を行うコマンド ライン ユーティリティ (Bcp.exe)。 はい はい
BULK INSERT ステートメント データ ファイルのデータをデータベース テーブルまたはパーティション分割されていないビューに直接インポートする Transact-SQL ステートメント。 はい いいえ
INSERT ...SELECT * FROM OPENROWSET(BULK...) ステートメント INSERT ステートメントでデータを選択するために OPENROWSET(BULK...) 関数を指定することによって、OPENROWSET 一括行セット プロバイダーを使用してデータを SQL Server テーブルに一括インポートする Transact-SQL ステートメント。 はい いいえ

重要

SQL Server の一括インポート操作では、コンマ区切り (CSV) ファイルがサポートされていません。 ただし、場合によっては、 SQL Serverに対してデータを一括インポートする際、CSV ファイルをデータ ファイルとして使用できます。 CSV ファイルのフィールド ターミネータは必ずしもコンマである必要はありません。 詳細については、「 一括エクスポートまたは一括インポートのデータの準備 (SQL Server)」を参照してください。

フォーマット ファイル

bcp ユーティリティ、BULK INSERT、および INSERT ...SELECT * FROM OPENROWSET(BULK...) はすべて、各フィールドの書式情報をデータ ファイルに格納する特殊なフォーマット ファイルの使用をサポートしています。 また、フォーマット ファイルには、対応する SQL Server テーブルに関する情報が含まれる場合もあります。 フォーマット ファイルは、 SQL Serverのインスタンスからデータを一括エクスポートしたり、このインスタンスにデータを一括インポートしたりするのに必要なすべてのフォーマット情報を指定するために使用できます。

フォーマット ファイルを使用すると、インポートの際にデータ ファイルの形式に従ってデータを解釈したり、エクスポートの際にデータ ファイル内のデータに形式を適用する処理を柔軟に行えるようになります。 これにより、 SQL Server または外部アプリケーションの特定の必要性に応じてデータの解釈や再フォーマットを行うことだけを目的としたプログラムを作成する必要がなくなります。 たとえば、コンマ区切り値が必要なアプリケーションに読み込まれるデータを一括インポートする場合、フォーマット ファイルを使用すると、エクスポートされたデータにフィールド ターミネータとしてコンマを挿入できます。

SQL Server では、次の 2 種類のフォーマット ファイルがサポートされます:XML フォーマット ファイルと XML 以外のフォーマット ファイル。

bcp ユーティリティは、フォーマット ファイルを生成できる唯一のツールです。 詳細については、「フォーマット ファイルの作成 (SQL Server)」を参照してください。 フォーマット ファイルの使用方法の詳細は、「データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)」を参照してください。

注意

一括エクスポート操作または一括インポート操作でフォーマット ファイルが正しく提供されなかった場合に備えて、ユーザーはコマンド ラインで既定の形式をオーバーライドすることもできます。

Related Tasks

フォーマット ファイルを作成するには

一括インポートまたは一括エクスポートのデータ形式を使用するには

bcp を使用した互換性のためのデータ形式を指定するには

  1. フィールド ターミネータと行ターミネータの指定 (SQL Server)

  2. bcp を使用したデータ ファイルのプレフィックス長の指定 (SQL Server)

  3. bcp を使用したファイル ストレージ型の指定 (SQL Server)

参照

一括インポートで最小ログ記録を行うための前提条件
データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)
XML ドキュメントの一括インポートと一括エクスポートの例 (SQL Server)
SQL Server Integration Services
他のサーバーへのデータベースのコピー
XML データの一括読み込みの実行 (SQLXML 4.0)
一括コピー操作の実行
bcp ユーティリティ
BULK INSERT (Transact-SQL)
データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)
OPENROWSET (Transact-SQL)