データの一括インポートと一括エクスポート (SQL Server)Bulk Import and Export of Data (SQL Server)

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server では、テーブルからのデータの一括エクスポート ( 一括データのエクスポート SQL ServerSQL Server )、および SQL ServerSQL Server テーブルまたはパーティション分割されていないビューへの一括データのインポートがサポートされています。supports exporting data in bulk (bulk data) from a SQL ServerSQL Server table and importing bulk data into a SQL ServerSQL Server table or nonpartitioned view.

  • 一括エクスポート とは、 SQL ServerSQL Server テーブルから特定のデータ ファイルにデータをコピーすることです。Bulk exporting refers to copying data from a SQL ServerSQL Server table to a data file.

  • 一括インポート は、データ ファイルから SQL ServerSQL Server テーブルにデータを読み込むことを指します。Bulk importing refers to loading data from a data file into a SQL ServerSQL Server table. たとえば、データを MicrosoftMicrosoft Excel アプリケーションから特定のデータ ファイルにエクスポートした後、そのデータを SQL ServerSQL Server テーブルに一括インポートできます。For example, you can export data from a MicrosoftMicrosoft Excel application to a data file and then bulk import that data into a SQL ServerSQL Server table.

データの一括インポートと一括エクスポートの方法Methods for bulk importing and exporting data

SQL ServerSQL Server では、 SQL ServerSQL Server テーブルからのデータの一括エクスポート、および SQL ServerSQL Server テーブルまたはパーティション分割されていないビューへのデータの一括インポートがサポートされています。supports bulk exporting data from a SQL ServerSQL Server table and for bulk importing data into a SQL ServerSQL Server table or nonpartitioned view. 使用できる基本的な方法を次に示します。The following basic methods are available.

方法Method [説明]Description データのインポートImports data データのエクスポートExports data
bcp ユーティリティbcp utility データの一括エクスポートと一括インポート、およびフォーマット ファイルの生成を行うコマンド ライン ユーティリティ (Bcp.exe)。A command-line utility (Bcp.exe) that bulk exports and bulk imports data and generates format files. はいYes はいYes
BULK INSERT ステートメントBULK INSERT statement データ ファイルのデータをデータベース テーブルまたはパーティション分割されていないビューに直接インポートする Transact-SQLTransact-SQL ステートメント。A Transact-SQLTransact-SQL statement that imports data directly from a data file into a database table or nonpartitioned view. はいYes いいえNo
INSERT ...SELECT * FROM OPENROWSET(BULK...) ステートメントINSERT ... SELECT * FROM OPENROWSET(BULK...) statement INSERT ステートメントでデータを選択するために OPENROWSET(BULK...) 関数を指定することによって、OPENROWSET 一括行セット プロバイダーを使用してデータを Transact-SQLTransact-SQL テーブルに一括インポートする SQL ServerSQL Server ステートメント。A Transact-SQLTransact-SQL statement that uses the OPENROWSET bulk rowset provider to bulk import data into a SQL ServerSQL Server table by specifying the OPENROWSET(BULK...) function to select data in an INSERT statement. はいYes いいえNo
SQL Server インポートおよびエクスポート ウィザードSQL Server Import and Export Wizard このウィザードでは、データセット、スプレッドシート、テキスト ファイルなど、さまざまな一般的なデータ形式の間でデータをインポートまたはエクスポートする簡単なパッケージが作成されます。The wizard creates simple packages that import and export data between many popular data formats including databases, spreadsheets, and text files. はいYes はいYes

重要

SQL Server の一括インポート操作では、コンマ区切り (CSV) ファイルがサポートされていません。Comma-separated value (CSV) files are not supported by SQL Server bulk-import operations. ただし、場合によっては、SQL Server に対してデータを一括インポートする際、CSV ファイルをデータ ファイルとして使用できます。However, in some cases you can use a CSV file as the data file for a bulk import of data into SQL Server. CSV ファイルのフィールド ターミネータは必ずしもコンマである必要はありません。Note that the field terminator of a CSV file does not have to be a comma. 詳細については、「 一括エクスポートまたは一括インポートのデータの準備 (SQL Server)」を参照してください。For more information, see Prepare Data for Bulk Export or Import (SQL Server).

注意

Azure SQL Database と Azure SQL DW で区切られたファイルをインポートおよびエクスポートするには、bcp ユーティリティのみがサポートされています。Only the bcp utility is supported by Azure SQL Database and Azure SQL DW for importing and exporting delimited files.

フォーマット ファイルFormat files

bcp ユーティリティBULK INSERT、および INSERT ...SELECT * FROM OPENROWSET(BULK...) では、フォーマット ファイルという特殊なファイルを使用して、データ ファイル内のフィールドごとにフォーマット情報を格納することができます。The bcp utility, BULK INSERT, and INSERT ... SELECT * FROM OPENROWSET(BULK...) all support the use of a specialized format file that stores format information for each field in a data file. また、フォーマット ファイルには、対応する SQL ServerSQL Server テーブルに関する情報が含まれる場合もあります。A format file might also contain information about the corresponding SQL ServerSQL Server table. フォーマット ファイルは、 SQL ServerSQL Serverのインスタンスからデータを一括エクスポートしたり、このインスタンスにデータを一括インポートしたりするのに必要なすべてのフォーマット情報を指定するために使用できます。The format file can be used to provide all the format information that is required to bulk export data from and bulk import data to an instance of SQL ServerSQL Server.

フォーマット ファイルを使用すると、インポートの際にデータ ファイルの形式に従ってデータを解釈したり、エクスポートの際にデータ ファイル内のデータに形式を適用する処理を柔軟に行えるようになります。Format files provide a flexible way to interpret data as it is in the data file during import, and also to format data in the data file during export. これにより、 SQL ServerSQL Server または外部アプリケーションの特定の必要性に応じてデータの解釈や再フォーマットを行うことだけを目的としたプログラムを作成する必要がなくなります。This flexibility eliminates the need to write special-purpose code to interpret the data or reformat the data to the specific requirements of SQL ServerSQL Server or the external application. たとえば、コンマ区切り値が必要なアプリケーションに読み込まれるデータを一括インポートする場合、フォーマット ファイルを使用すると、エクスポートされたデータにフィールド ターミネータとしてコンマを挿入できます。For example, if you are bulk exporting data to be loaded into an application that requires comma-separated values, you can use a format file to insert commas as field terminators in the exported data.

SQL ServerSQL Server では、次の 2 種類のフォーマット ファイルがサポートされます:XML フォーマット ファイルと XML 以外のフォーマット ファイル。supports two kinds of format files: XML format files and non-XML format files.

フォーマット ファイルを生成できるツールは、 bcp ユーティリティ だけです。The bcp utility is the only tool that can generate a format file. 詳細については、「フォーマット ファイルの作成 (SQL Server)」をご覧ください。For more information, see Create a Format File (SQL Server). フォーマット ファイルの使用方法の詳細は、「データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)」を参照してください。For more information about format files, see Format Files for Importing or Exporting Data (SQL Server).

注意

一括エクスポート操作または一括インポート操作でフォーマット ファイルが正しく提供されなかった場合に備えて、ユーザーはコマンド ラインで既定の形式をオーバーライドすることもできます。In cases when a format file is not supplied during a bulk export or import operations, you can override the default formatting at the command line.

関連項目Related Topics
一括エクスポートまたは一括インポートのデータの準備 (SQL Server)Prepare Data for Bulk Export or Import (SQL Server)
一括インポートまたは一括エクスポートのデータ形式 (SQL Server)Data Formats for Bulk Import or Bulk Export (SQL Server)
 ● ネイティブ形式を使用したデータのインポートまたはエクスポート (SQL Server) ● Use Native Format to Import or Export Data (SQL Server)
 ● 文字形式を使用したデータのインポートまたはエクスポート (SQL Server) ● Use Character Format to Import or Export Data (SQL Server)
 ● Unicode ネイティブ形式を使用したデータのインポートまたはエクスポート (SQL Server) ● Use Unicode Native Format to Import or Export Data (SQL Server)
 ● Unicode 文字形式を使用したデータのインポートまたはエクスポート (SQL Server) ● Use Unicode Character Format to Import or Export Data (SQL Server)
 ● 以前のバージョンの SQL Server からのネイティブ形式データおよび文字形式データのインポート ● Import Native and Character Format Data from Earlier Versions of SQL Server
bcp を使用した互換性のためのデータ形式の指定 (SQL Server)Specify Data Formats for Compatibility when Using bcp (SQL Server)
 ● bcp を使用したファイル ストレージ型の指定 (SQL Server) ● Specify File Storage Type by Using bcp (SQL Server)
 ● bcp を使用したデータ ファイルのプレフィックス長の指定 (SQL Server) ● Specify Prefix Length in Data Files by Using bcp (SQL Server)
 ● bcp を使用したフィールド長の指定 (SQL Server) ● Specify Field Length by Using bcp (SQL Server)
 ● フィールド ターミネータと行ターミネータの指定 (SQL Server) ● Specify Field and Row Terminators (SQL Server)
一括インポート中の NULL の保持または既定値の使用 (SQL Server)Keep Nulls or Use Default Values During Bulk Import (SQL Server)
データの一括インポート時の ID 値の保持 (SQL Server)Keep Identity Values When Bulk Importing Data (SQL Server)
データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)Format Files for Importing or Exporting Data (SQL Server)
 ● フォーマット ファイルの作成 (SQL Server) ● Create a Format File (SQL Server)
 ● データの一括インポートでのフォーマット ファイルの使用 (SQL Server) ● Use a Format File to Bulk Import Data (SQL Server)
 ● フォーマット ファイルを使用したテーブル列のスキップ (SQL Server) ● Use a Format File to Skip a Table Column (SQL Server)
 ● フォーマット ファイルを使用したデータ フィールドのスキップ (SQL Server) ● Use a Format File to Skip a Data Field (SQL Server)
 ● フォーマット ファイルを使用したテーブル列とデータ ファイル フィールドのマッピング (SQL Server) ● Use a Format File to Map Table Columns to Data-File Fields (SQL Server)

詳細情報More information

一括インポートで最小ログ記録を行うための前提条件 Prerequisites for Minimal Logging in Bulk Import
XML ドキュメントの一括インポートと一括エクスポートの例 (SQL Server) Examples of Bulk Import and Export of XML Documents (SQL Server)
SQL Server Integration Services SQL Server Integration Services
他のサーバーへのデータベースのコピー Copy Databases to Other Servers
XML データの一括読み込みの実行 (SQLXML 4.0) Performing Bulk Load of XML Data (SQLXML 4.0)
一括コピー操作の実行Performing Bulk Copy Operations