bcp ユーティリティbcp Utility

適用対象: ○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

最新バージョンの bcp ユーティリティでは、次を参照してくださいfor SQL Server のマイクロソフト コマンド ライン ユーティリティ 14.0。 For the latest version of the bcp utility, see Microsoft Command Line Utilities 14.0 for SQL Server

Linux では、bcp を使用して、参照してくださいsqlcmd および bcp を Linux にインストールします。For using bcp on Linux, see Install sqlcmd and bcp on Linux.

Azure SQL Data Warehouse での bcp の使用に関する詳細については、次を参照してください。 bcp を使用したデータを読み込むします。For detailed information about using bcp with Azure SQL Data Warehouse, see Load data with bcp.

bulk copy program ユーティリティ (bcp) では、 MicrosoftMicrosoft SQL ServerSQL Server のインスタンスと、ユーザー指定の形式のデータ ファイルとの間でデータの一括コピーを行います。The bulk copy program utility (bcp) bulk copies data between an instance of MicrosoftMicrosoft SQL ServerSQL Server and a data file in a user-specified format. bcp ユーティリティを使うと、多数の新規行を SQL ServerSQL Server テーブルにインポートしたり、データをテーブルからデータ ファイルにエクスポートしたりできます。The bcp utility can be used to import large numbers of new rows into SQL ServerSQL Server tables or to export data out of tables into data files. このユーティリティでは の知識は必要ありません。ただし、 queryout Transact-SQLTransact-SQLオプションと同時に使う場合はその知識が必要になります。Except when used with the queryout option, the utility requires no knowledge of Transact-SQLTransact-SQL. データをテーブルにインポートするには、そのテーブル用に作成されたフォーマット ファイルを使用するか、テーブルの構造およびテーブルの列に有効なデータの型を理解しておく必要があります。To import data into a table, you must either use a format file created for that table or understand the structure of the table and the types of data that are valid for its columns.

トピック リンク アイコン bcp 構文で使用される構文表記規則については、「Transact-SQL 構文表記規則 (Transact-SQL)」を参照してください。Topic link icon For the syntax conventions that are used for the bcp syntax, see Transact-SQL Syntax Conventions (Transact-SQL).

注意

bcp を使ってデータをバックアップする場合、フォーマット ファイルを作成してデータ形式を記録します。If you use bcp to back up your data, create a format file to record the data format. bcp データ ファイルには、スキーマ情報やフォーマット情報が 含まれない ので、テーブルまたはビューが削除され、フォーマット ファイルがない場合は、データをインポートできないことがあります。bcp data files do not include any schema or format information, so if a table or view is dropped and you do not have a format file, you may be unable to import the data.

構文Syntax
bcp [database_name.] schema.{table_name | view_name | "query"
    {in data_file | out data_file | queryout data_file | format nul}
                                                                                                         
    [-a packet_size]
    [-b batch_size]
    [-c]
    [-C { ACP | OEM | RAW | code_page } ]
    [-d database_name]
    [-e err_file]
    [-E]
    [-f format_file]
    [-F first_row]
    [-G Azure Active Directory Authentication]
    [-h"hint [,...n]"]
    [-i input_file]
    [-k]
    [-K application_intent]
    [-L last_row]
    [-m max_errors]
    [-n]
    [-N]
    [-o output_file]
    [-P password]
    [-q]
    [-r row_term]
    [-R]
    [-S [server_name[\instance_name]]
    [-t field_term]
    [-T]
    [-U login_id]
    [-v]
    [-V (80 | 90 | 100 | 110 | 120 | 130 ) ]
    [-w]
    [-x]

引数Arguments

data_filedata_file
データ ファイルの完全パスを指定します。Is the full path of the data file. SQL ServerSQL Serverにデータを一括インポートする場合は、データ ファイルには指定したテーブルまたはビューにコピーするデータが含まれます。When data is bulk imported into SQL ServerSQL Server, the data file contains the data to be copied into the specified table or view. SQL ServerSQL Serverからデータを一括エクスポートする場合は、データ ファイルにはテーブルまたはビューからコピーしたデータが含まれます。When data is bulk exported from SQL ServerSQL Server, the data file contains the data copied from the table or view. パスは、1 文字から 255 文字までです。The path can have from 1 through 255 characters. データ ファイルに含めることができる行の数は最大 2^63 - 1 です。The data file can contain a maximum of 2^63 - 1 rows.

database_namedatabase_name
指定したテーブルまたはビューを含むデータベースの名前を指定します。Is the name of the database in which the specified table or view resides. 指定しない場合は、ユーザーの既定データベースになります。If not specified, this is the default database for the user.

d- で明示的にデータベース名を指定することもできます。You can also explicitly specify the database name with d-.

in data_file | out data_file | の知識は必要ありません。ただし、 data_file | format nulin data_file | out data_file | queryout data_file | format nul
次に示すように、一括コピーの方向を指定します。Specifies the direction of the bulk copy, as follows:

  • in はファイルからデータベース テーブルまたはビューへのコピーを行います。in copies from a file into the database table or view.

  • out はデータベース テーブルまたはビューからファイルへのコピーを行います。out copies from the database table or view to a file. 既存のファイルを指定すると、ファイルは上書きされます。If you specify an existing file, the file is overwritten. bcp ユーティリティは、データを抽出するときに、空文字列を NULL 文字列で、NULL 文字列を空文字列で表すことに注意してください。When extracting data, note that the bcp utility represents an empty string as a null and a null string as an empty string.

  • queryout はクエリからのコピーを行います。データをクエリから一括コピーする場合にのみ指定する必要があります。queryout copies from a query and must be specified only when bulk copying data from a query.

  • format は、指定されたオプション (-n-c-w-N) と、テーブルやビューの区切り記号に基づいてフォーマット ファイルを作成します。format creates a format file based on the option specified (-n, -c, -w, or -N) and the table or view delimiters. データを一括コピーするとき、 bcp コマンドはフォーマット ファイルを参照することができるため、フォーマット情報を対話的に再入力する必要がなくなります。When bulk copying data, the bcp command can refer to a format file, which saves you from re-entering format information interactively. format オプションには -f オプションが必要です。XML フォーマット ファイルを作成する場合には、-x オプションも必要です。The format option requires the -f option; creating an XML format file, also requires the -x option. 詳細については、「フォーマット ファイルの作成 (SQL Server)」をご覧ください。For more information, see Create a Format File (SQL Server). 値として nul を指定する必要があります (format nul)。You must specify nul as the value (format nul).

    ownerowner
    テーブルまたはビューの所有者の名前を指定します。Is the name of the owner of the table or view. 操作を実行するユーザーが指定のテーブルまたはビューを所有している場合、owner は省略可能です。owner is optional if the user performing the operation owns the specified table or view. owner が指定されず、操作を実行するユーザーが指定のテーブルまたはビューを所有していない場合は、 SQL ServerSQL Server からエラー メッセージが返され、操作は取り消されます。If owner is not specified and the user performing the operation does not own the specified table or view, SQL ServerSQL Server returns an error message, and the operation is canceled.

" query " は、結果セットを返す Transact-SQLTransact-SQL クエリです。" query " Is a Transact-SQLTransact-SQL query that returns a result set. クエリから複数の結果セットが返される場合、最初の結果セットのみがデータ ファイルにコピーされ、それ以降の結果セットは無視されます。If the query returns multiple result sets, only the first result set is copied to the data file; subsequent result sets are ignored. クエリは二重引用符で、クエリに埋め込まれたものは単一引用符で囲みます。Use double quotation marks around the query and single quotation marks around anything embedded in the query. クエリからデータを一括コピーする場合には、queryout も指定する必要があります。queryout must also be specified when bulk copying data from a query.

ストアド プロシージャ内で参照されるテーブルのすべてが bcp ステートメントの実行前に存在する場合に限り、クエリはストアド プロシージャを参照できます。The query can reference a stored procedure as long as all tables referenced inside the stored procedure exist prior to executing the bcp statement. たとえば、ストアド プロシージャにより一時テーブルが生成される場合、この一時テーブルは実行時にだけ利用でき、ステートメントの実行時には利用できないため、 bcp ステートメントは失敗します。For example, if the stored procedure generates a temp table, the bcp statement fails because the temp table is available only at run time and not at statement execution time. このような場合、ストアド プロシージャの結果をテーブルに挿入し、 bcp を使用してテーブルからデータ ファイルにデータをコピーすることを検討してください。In this case, consider inserting the results of the stored procedure into a table and then use bcp to copy the data from the table into a data file.

table_nametable_name
データを SQL ServerSQL Server にインポートする (in) 場合はインポート先のテーブルの名前、データを SQL ServerSQL Server からエクスポートする (out) 場合はエクスポート元のテーブルの名前です。Is the name of the destination table when importing data into SQL ServerSQL Server (in), and the source table when exporting data from SQL ServerSQL Server (out).

view_name view_name
データを SQL ServerSQL Server にコピーする (in) 場合はコピー先のビューの名前、データを SQL ServerSQL Server からコピーする (out) 場合はコピー元のビューの名前です。Is the name of the destination view when copying data into SQL ServerSQL Server (in), and the source view when copying data from SQL ServerSQL Server (out). すべての列が同じテーブルを参照しているビューのみが、コピー先のビューとして使用できます。Only views in which all columns refer to the same table can be used as destination views. ビューにデータをコピーするときの制限の詳細については、「挿入 (Transact-SQL)」をご覧ください。For more information on the restrictions for copying data into views, see INSERT (Transact-SQL).

-a packet_size-a packet_size
サーバーとの間で送信されるネットワーク パケットごとのバイト数を指定します。Specifies the number of bytes, per network packet, sent to and from the server. サーバー構成オプションは、 [SQL Server Management Studio]SQL Server Management Studio (または sp_configure システム ストアド プロシージャ) を使用して設定できます。A server configuration option can be set by using [SQL Server Management Studio]SQL Server Management Studio (or the sp_configure system stored procedure). ただし、このオプションを使用すると、サーバー構成オプションを個別にオーバーライドできます。However, the server configuration option can be overridden on an individual basis by using this option. packet_size の有効値は 4,096 から 65,535 バイトです。既定値は 4,096 です。packet_size can be from 4096 to 65535 bytes; the default is 4096.

パケット サイズを大きくすると、一括コピーのパフォーマンスを向上させることができます。Increased packet size can enhance performance of bulk-copy operations. より大きなサイズのパケットを要求しても、許可されない場合、既定値が使用されます。If a larger packet is requested but cannot be granted, the default is used. bcp ユーティリティが生成するパフォーマンス統計には、使用したパケット サイズが示されます。The performance statistics generated by the bcp utility show the packet size used.

-b batch_size-b batch_size
一括インポートするデータの行数を指定します。Specifies the number of rows per batch of imported data. コミットされる前に、各バッチはすべてのバッチをインポートする個別のトランザクションとしてインポートおよび記録されます。Each batch is imported and logged as a separate transaction that imports the whole batch before being committed. 既定では、データ ファイルのすべての行が 1 つのバッチとしてインポートされます。By default, all the rows in the data file are imported as one batch. 複数のバッチに行を分散するには、データ ファイルの行数よりも少ない batch_size を指定します。To distribute the rows among multiple batches, specify a batch_size that is smaller than the number of rows in the data file. バッチのトランザクションが失敗すると、現在のバッチの挿入のみがロールバックされます。If the transaction for any batch fails, only insertions from the current batch are rolled back. コミットされたトランザクションによって既にインポートされているバッチは、それ以降の失敗による影響を受けません。Batches already imported by committed transactions are unaffected by a later failure.

このオプションは、 -h " ROWS_PER_BATCH =bb" オプションと組み合わせて使用しないでください。Do not use this option in conjunction with the -h " ROWS_PER_BATCH =bb" option.

-c-c
文字データ型を使用して操作を実行します。Performs the operation using a character data type. このオプションを使用すると、フィールドごとにプロンプトが表示されません。 char をプレフィックスなしのストレージ型として、また \t (タブ) をフィールド区切り文字、 \r\n (改行文字) を行ターミネータとして使用します。This option does not prompt for each field; it uses char as the storage type, without prefixes and with \t (tab character) as the field separator and \r\n (newline character) as the row terminator. -c-w と互換性がありません。-c is not compatible with -w.

詳細については、「文字形式を使用したデータのインポートまたはエクスポート (SQL Server)」をご覧ください。For more information, see Use Character Format to Import or Export Data (SQL Server).

-C { ACP | OEM | RAW | code_page } -C { ACP | OEM | RAW | code_page }
データ ファイル内のデータのコード ページを指定します。Specifies the code page of the data in the data file. code_page は、データに charvarchartext 列 (文字値が 127 より大きいか、32 未満) が含まれている場合にのみ当てはまります。code_page is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

注意

フォーマット ファイルの各列に対して照合順序名を指定することをお勧めします (65001 オプションを照合順序/コード ページ仕様よりも優先する場合を除く)。We recommend specifying a collation name for each column in a format file, except when you want the 65001 option to have priority over the collation/code page specification.

コード ページ値Code page value [説明]Description
ACPACP ANSIANSI/Microsoft Windows (ISO 1252)。/Microsoft Windows (ISO 1252).
OEMOEM クライアントが使用する既定のコード ページです。Default code page used by the client. -C が指定されていない場合に使用される既定のコード ページです。This is the default code page used if -C is not specified.
RAWRAW コード ページの変換は行われません。No conversion from one code page to another occurs. したがって、これは最も速いオプションです。This is the fastest option because no conversion occurs.
code_pagecode_page 850 などの特定のコード ページ番号を指定します。Specific code page number; for example, 850.

バージョン 13 ( SQL Server 2016 (13.x)SQL Server 2016 (13.x)) より前のバージョンでは、コード ページ 65001 (UTF-8 エンコード) はサポートされません。Versions prior to version 13 ( SQL Server 2016 (13.x)SQL Server 2016 (13.x)) do not support code page 65001 (UTF-8 encoding). バージョン 13 以降では、UTF-8 エンコードを SQL ServerSQL Serverの前のバージョンにインポートできます。Versions beginning with 13 can import UTF-8 encoding to earlier versions of SQL ServerSQL Server.

-d database_name -d database_name
接続先のデータベースを指定します。Specifies the database to connect to. 既定では、bcp.exe はユーザーの既定のデータベースに接続します。By default, bcp.exe connects to the user’s default database. -d database_name と、3 つの部分で構成される名前 (database_name.schema.table, passed as the first parameter to bcp.exe) is specified, an error will occur because you cannot specify the database name twice. database_name がハイフン (-)、またはスラッシュ (/) から始まる場合は、 -d とデータベース名の間に空白を入れないでください。If -d database_name and a three part name (database_name.schema.table, passed as the first parameter to bcp.exe) is specified, an error will occur because you cannot specify the database name twice.If database_name begins with a hyphen (-) or a forward slash (/), do not add a space between -d and the database name.

-e err_ファイル-e err_file
bcp ユーティリティがファイルからデータベースに転送できなかったすべての行を格納するエラー ファイルの完全パスを指定します。Specifies the full path of an error file used to store any rows that the bcp utility cannot transfer from the file to the database. bcp コマンドからのエラー メッセージは、ユーザーのワークステーションに送られます。Error messages from the bcp command go to the workstation of the user. このオプションを指定しないと、エラー ファイルは作成されません。If this option is not used, an error file is not created.

err_file がハイフン (-) またはスラッシュ (/) で始まる場合は、 -eerr_file 値の間に空白を入れないでください。If err_file begins with a hyphen (-) or a forward slash (/), do not include a space between -e and the err_file value.

-E -E
インポートしたデータ ファイルの ID 値 (複数可) を ID 列に使用することを指定します。Specifies that identity value or values in the imported data file are to be used for the identity column. -E を指定しない場合、インポートされるデータ ファイルのこの列の ID 値は無視され、 SQL ServerSQL Server はテーブルの作成時に指定されたシードと増分の値に基づいて一意の値を自動的に割り当てます。If -E is not given, the identity values for this column in the data file being imported are ignored, and SQL ServerSQL Server automatically assigns unique values based on the seed and increment values specified during table creation.

データ ファイルにテーブルまたはビュー内の ID 列の値が含まれない場合は、フォーマット ファイルを使用して、データのインポート時にテーブルまたはビュー内の ID 列を無視するように指定します。 SQL ServerSQL Server では、一意な値が自動的にこの列に割り当てられます。If the data file does not contain values for the identity column in the table or view, use a format file to specify that the identity column in the table or view should be skipped when importing data; SQL ServerSQL Server automatically assigns unique values for the column. 詳細については、「DBCC CHECKIDENT (Transact-SQL)」をご覧ください。For more information, see DBCC CHECKIDENT (Transact-SQL).

-E オプションには、特別な権限が必要です。The -E option has a special permissions requirement. 詳細については、後の「解説」を参照してください。For more information, see "Remarks" later in this topic.

-f format_file-f format_file
フォーマット ファイルの完全パスを指定します。Specifies the full path of a format file. このオプションの意味は、オプションが使用されている環境によって次のように異なります。The meaning of this option depends on the environment in which it is used, as follows:

  • -fformat オプションと共に使用した場合、指定されたテーブルまたはビューに対して、指定された format_file が作成されます。If -f is used with the format option, the specified format_file is created for the specified table or view. XML フォーマット ファイルを作成するには、-x オプションも指定します。To create an XML format file, also specify the -x option. 詳細については、「フォーマット ファイルの作成 (SQL Server)」をご覧ください。For more information, see Create a Format File (SQL Server).

  • in または out オプションと共に使用する場合、-f を使うには既存のフォーマット ファイルが必要です。If used with the in or out option, -f requires an existing format file.

    注意

    in または out オプションを使う場合、フォーマット ファイルは省略可能です。Using a format file in with the in or out option is optional. -f オプションを省略すると、 -n-c-w、または -N を指定しなかった場合に、コマンドによってフォーマット情報が要求され、それに対する応答がフォーマット ファイルに保存されます (既定のファイル名は Bcp.fmt)。In the absence of the -f option, if -n, -c, -w, or -N is not specified, the command prompts for format information and lets you save your responses in a format file (whose default file name is Bcp.fmt).

    format_file がハイフン (-) またはスラッシュ (/) で始まる場合は、 -fformat_file 値の間に空白を入れないでください。If format_file begins with a hyphen (-) or a forward slash (/), do not include a space between -f and the format_file value.

-F first_row-F first_row
テーブルからエクスポートする最初の行、またはデータ ファイルからインポートする最初の行の番号を指定します。Specifies the number of the first row to export from a table or import from a data file. このパラメーターには、0 より大きく (> 0)、行の合計数以下 (< または =) となる値が必要です。This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the total number rows. このパラメーターがない場合、既定ではファイルの最初の行となります。In the absence of this parameter, the default is the first row of the file.

first_row には、2^63-1 以下の正の整数を指定できます。first_row can be a positive integer with a value up to 2^63-1. -F first_row is 1-based.-F first_row is 1-based.

-G-G
このスイッチは、Azure SQL Database または Azure SQL Data Warehouse に接続し、Azure Active Directory 認証を使用してユーザーを認証するように指定する場合に、クライアントによって使用されます。This switch is used by the client when connecting to Azure SQL Database or Azure SQL Data Warehouse to specify that the user be authenticated using Azure Active Directory authentication. -G スイッチが必要です14.0.3008.27 バージョンまたはそれ以降します。The -G switch requires version 14.0.3008.27 or later. バージョンを判断するには、bcp -v を実行します。To determine your version, execute bcp -v. 詳細については、次を参照してください。使用して Azure Active Directory 認証では、SQL Database または SQL Data Warehouse の認証にします。For more information, see Use Azure Active Directory Authentication for authentication with SQL Database or SQL Data Warehouse.

ヒント

Bcp のバージョンが Azure Active Directory 認証 (AAD) の型のサポートが含まれますかどうかをチェックするbcp-- (bcp<領域 ><dash ><dash >)-g の一覧に表示されることを確認使用可能な引数。To check if your version of bcp includes support for Azure Active Directory Authentication (AAD) type bcp -- (bcp<space><dash><dash>) and verify that you see -G in the list of available arguments.

  • Azure Active Directory のユーザー名とパスワード:Azure Active Directory Username and Password:

    Azure Active Directory のユーザー名とパスワードを使用には、 -G オプションを指定します。ユーザー名とパスワードは、 -U オプションと -P オプションを指定する方法でも使用できます。When you want to use an Azure Active Directory user name and password, you can provide the -G option and also use the user name and password by providing the -U and -P options.

    次の例では、Azure AD のユーザー名を使用してデータをエクスポートして、ユーザー名とパスワードは、AAD の資格情報のパスワード。The following example exports data using Azure AD Username and Password where user and password is an AAD credential. 例では、テーブルをエクスポートしますbcptestデータベースからtestdbAzure サーバーからaadserver.database.windows.netファイルでデータを格納およびc:\last\data1.dat:The example exports table bcptest from database testdb from Azure server aadserver.database.windows.net and stores the data in file c:\last\data1.dat:

    bcp bcptest out "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
    

    次の例では、Azure AD のユーザー名を使用してデータをインポートして、ユーザー名とパスワードは、AAD の資格情報のパスワード。The following example imports data using Azure AD Username and Password where user and password is an AAD credential. 例では、ファイルからデータをインポートするc:\last\data1.datテーブルにbcptestデータベースtestdbAzure サーバーでaadserver.database.windows.netAzure AD ユーザーとパスワードを使用します。The example imports data from file c:\last\data1.dat into table bcptest for database testdb on Azure server aadserver.database.windows.net using Azure AD User/Password:

    bcp bcptest in "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
    
  • Azure Active Directory 統合Azure Active Directory Integrated

    Azure Active Directory 統合認証の場合、ユーザー名とパスワードなしで -G オプションを指定します。For Azure Active Directory Integrated authentication, provide the -G option without a user name or password. この構成では、現在の Windows ユーザー アカウント (bcp コマンドを実行しているアカウント) が Azure AD とフェデレーションすることを前提としています。This configuration assumes that the current Windows user account (the account the bcp command is running under) is federated with Azure AD:

    次の例では、Azure AD の統合アカウントを使用してデータをエクスポートします。The following example exports data using Azure AD Integrated account. 例では、テーブルをエクスポートしますbcptestデータベースからtestdbAzure サーバーから Azure AD の統合を使用してaadserver.database.windows.netファイルでデータを格納およびc:\last\data2.dat:The example exports table bcptest from database testdb using Azure AD Integrated from Azure server aadserver.database.windows.net and stores the data in file c:\last\data2.dat:

    bcp bcptest out "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c -t
    

    次の例では、Azure AD の統合認証を使用してデータをインポートします。この例では、ファイルからデータをインポートc:\last\data2.txtテーブルにbcptestデータベースtestdbAzure サーバーでaadserver.database.windows.netAzure AD の統合認証を使用して。The following example imports data using Azure AD Integrated auth. The example imports data from file c:\last\data2.txt into table bcptest for database testdb on Azure server aadserver.database.windows.net using Azure AD Integrated auth:

    bcp bcptest in "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c -t
    

-h "load hints[ ,... n]" データをテーブルまたはビューに一括インポートするときに使用するヒントを指定します。-h "load hints[ ,... n]" Specifies the hint or hints to be used during a bulk import of data into a table or view.

  • ORDER(column[ASC | DESC] [,...n])**ORDER(column[ASC | DESC] [,...n])**
    データ ファイルのデータの並べ替え順序です。The sort order of the data in the data file. インポートするデータをテーブル上のクラスター化インデックスに従って並べ替えると、一括インポートのパフォーマンスが向上します。Bulk import performance is improved if the data being imported is sorted according to the clustered index on the table, if any. データ ファイルが異なる順序で並べ替えられている場合、つまり、クラスター化インデックス キーの順序以外で並べ替えられている場合、またはテーブルにクラスター化インデックスが存在しない場合、ORDER 句は無視されます。If the data file is sorted in a different order, that is other than the order of a clustered index key, or if there is no clustered index on the table, the ORDER clause is ignored. 指定する列の名前は、インポート先のテーブル内で有効な列の名前であることが必要です。The column names supplied must be valid column names in the destination table. 既定では、 bcp はデータ ファイルの並べ替えが行われていないことを前提としています。By default, bcp assumes the data file is unordered. 最適な一括インポートのため、 SQL ServerSQL Server では、インポートするデータが並べ替えられているかどうかも検証されます。For optimized bulk import, SQL ServerSQL Server also validates that the imported data is sorted.

  • ROWS_PER_BATCH = bbROWS_PER_BATCH = bb
    各バッチあたりのデータ行数 ( bb) です。Number of rows of data per batch (as bb). -b を指定しない場合に使うと、データ ファイル全体が 1 つのトランザクションとしてサーバーに送られます。Used when -b is not specified, resulting in the entire data file being sent to the server as a single transaction. サーバーは、 bbの値に応じて一括コピーの負荷を最適化します。The server optimizes the bulk load according to the value bb. ROWS_PER_BATCH の既定値はありません。By default, ROWS_PER_BATCH is unknown.

  • KILOBYTES_PER_BATCH = ccKILOBYTES_PER_BATCH = cc
    バッチごとのデータの概算キロバイト数 (KB) です ( cc)。Approximate number of kilobytes of data per batch (as cc). KILOBYTES_PER_BATCH の既定値はありません。By default, KILOBYTES_PER_BATCH is unknown.

  • TABLOCKTABLOCK
    一括読み込み操作中に一括更新のテーブルレベルのロックが適用されます。これを指定しない場合、行レベルのロックが適用されます。Specifies that a bulk update table-level lock is acquired for the duration of the bulk load operation; otherwise, a row-level lock is acquired. 一括コピー操作時だけロックすることにより、テーブル ロックの競合が少なくなるので、このヒントはパフォーマンスを大幅に向上させます。This hint significantly improves performance because holding a lock for the duration of the bulk-copy operation reduces lock contention on the table. テーブルにインデックスがなく、 TABLOCK を指定した場合は、複数のクライアントで同時に 1 つのテーブルを読み込むことができます。A table can be loaded concurrently by multiple clients if the table has no indexes and TABLOCK is specified. 既定では、ロック動作はテーブル オプション table lock on bulk loadによって決定されます。By default, locking behavior is determined by the table option table lock on bulk load.

    注意

    対象テーブルがクラスター化列ストア インデックスの場合、複数の同時実行クライアントで読み込むための TABLOCK ヒントは不要です。インデックス内で同時実行スレッドそれぞれに個別の行グループが割り当てられ、データが読み込まれるためです。If the target table is clustered columnstore index, TABLOCK hint is not required for loading by multiple concurrent clients because each concurrent thread is assigned a separate rowgroup within the index and loads data into it. 詳細については、列ストア インデックスの概念に関するトピックを参照してください。Please refer to columnstore index conceptual topics for details,

    CHECK_CONSTRAINTSCHECK_CONSTRAINTS
    一括インポート操作中、対象テーブルまたはビューに対するすべての制約を検証します。Specifies that all constraints on the target table or view must be checked during the bulk-import operation. CHECK_CONSTRAINTS ヒントを指定しない場合、CHECK 制約および FOREIGN KEY 制約は無視され、操作の後でテーブルの制約は信頼されていないものとしてマークされます。Without the CHECK_CONSTRAINTS hint, any CHECK and FOREIGN KEY constraints are ignored, and after the operation the constraint on the table is marked as not-trusted.

    注意

    UNIQUE、PRIMARY KEY、および NOT NULL 制約は常に適用されます。UNIQUE, PRIMARY KEY, and NOT NULL constraints are always enforced.

    テーブル全体の制約は、任意の時点で必ず検証してください。At some point, you will need to check the constraints on the entire table. 一括インポート操作の前にテーブルが空でなかった場合、制約を再検証するコストは、増分データに CHECK 制約を適用するコストを超える場合があります。If the table was nonempty before the bulk import operation, the cost of revalidating the constraint may exceed the cost of applying CHECK constraints to the incremental data. したがって、通常は、増分一括インポート時の制約チェックを有効にすることをお勧めします。Therefore, we recommend that normally you enable constraint checking during an incremental bulk import.

    入力データに制約違反の行が含まれている場合などは、制約を無効 (既定の動作) にできます。A situation in which you might want constraints disabled (the default behavior) is if the input data contains rows that violate constraints. CHECK 制約を無効にした場合、データをインポートした後で、 Transact-SQLTransact-SQL ステートメントを使用して無効なデータを削除できます。With CHECK constraints disabled, you can import the data and then use Transact-SQLTransact-SQL statements to remove data that is not valid.

    注意

    bcp によってデータ検証とデータ チェックが実行されるようになったため、無効なデータを含むデータ ファイルに対して実行した場合、このスクリプトは失敗する可能性があります。bcp now enforces data validation and data checks that might cause scripts to fail if they are executed on invalid data in a data file.

    注意

    -m max_errors スイッチは、制約チェックには適用されません。The -m max_errors switch does not apply to constraint checking.

  • FIRE_TRIGGERSFIRE_TRIGGERS
    in 引数と共に指定されている場合、一括コピーの操作時に、コピー先のテーブル上で定義されている挿入トリガーを実行します。Specified with the in argument, any insert triggers defined on the destination table will run during the bulk-copy operation. FIRE_TRIGGERS が指定されていない場合は、挿入トリガーは実行されません。If FIRE_TRIGGERS is not specified, no insert triggers will run. FIRE_TRIGGERS は、 out引数、 queryout引数、および format 引数では無視されます。FIRE_TRIGGERS is ignored for the out, queryout, and format arguments.

    -i input_file-i input_file
    応答ファイルの名前を指定します。応答ファイルには、対話モード (-n-c-w、または -N が指定されていないモード) で一括コピーを実行する場合の、各データ フィールドに関するコマンド プロンプトの質問への応答が含まれます。Specifies the name of a response file, containing the responses to the command prompt questions for each data field when a bulk copy is being performed using interactive mode (-n, -c, -w, or -N not specified).

    input_file がハイフン (-) またはスラッシュ (/) で始まる場合は、 -iinput_file 値の間に空白を入れないでください。If input_file begins with a hyphen (-) or a forward slash (/), do not include a space between -i and the input_file value.

    -k-k
    一括コピー操作時、空の列には、挿入される列の既定値ではなく、NULL 値が保持されます。Specifies that empty columns should retain a null value during the operation, rather than have any default values for the columns inserted. 詳細については、「一括インポート中の NULL の保持または既定値の使用 (SQL Server)」をご覧ください。For more information, see Keep Nulls or Use Default Values During Bulk Import (SQL Server).

    -K application_intent -K application_intent
    アプリケーションがサーバーに接続するときのワークロードのタイプを宣言します。Declares the application workload type when connecting to a server. 指定できる値は、 ReadOnlyだけです。The only value that is possible is ReadOnly. -K を指定しない場合、bcp ユーティリティでは Always On 可用性グループのセカンダリ レプリカへの接続がサポートされません。If -K is not specified, the bcp utility will not support connectivity to a secondary replica in an Always On availability group. 詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (Always On 可用性グループ)」を参照してください。For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).

    -L last_row-L last_row
    テーブルからエクスポートする最後の行、またはデータ ファイルからインポートする最後の行の番号を指定します。Specifies the number of the last row to export from a table or import from a data file. このパラメーターには、0 より大きく (> 0)、最後の行の番号以下 (< または =) となる値が必要です。This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the number of the last row. このパラメーターがない場合、既定ではファイルの最後の行となります。In the absence of this parameter, the default is the last row of the file.

    last_row には、2^63-1 以下の正の整数を指定できます。last_row can be a positive integer with a value up to 2^63-1.

-m max_errors-m max_errors
bcp 操作が取り消される前に発生可能な構文エラーの最大数を指定します。Specifies the maximum number of syntax errors that can occur before the bcp operation is canceled. 構文エラーは、対象となるデータ型へのデータの変換エラーを意味しています。A syntax error implies a data conversion error to the target data type. max_errors の合計では、制約違反など、サーバーでのみ検出できるエラーはすべて対象外となります。The max_errors total excludes any errors that can be detected only at the server, such as constraint violations.

bcp ユーティリティでコピーできない行は無視され、1 つのエラーとしてカウントされます。A row that cannot be copied by the bcp utility is ignored and is counted as one error. このオプションが指定されない場合の既定値は 10 になります。If this option is not included, the default is 10.

注意

-m オプションは、 money データ型または bigint データ型の変換にも適用されません。The -m option also does not apply to converting the money or bigint data types.

-n-n
データのネイティブ (データベース) データ型を使用して一括コピー操作を実行します。Performs the bulk-copy operation using the native (database) data types of the data. このオプションを使用すると、フィールドごとにプロンプトが表示されません。ネイティブ値が使用されます。This option does not prompt for each field; it uses the native values.

詳細については、「ネイティブ形式を使用したデータのインポートまたはエクスポート (SQL Server)」をご覧ください。For more information, see Use Native Format to Import or Export Data (SQL Server).

-N-N
文字以外のデータについてはデータベースのネイティブなデータ型を使用し、文字データについては Unicode 文字を使用して、一括コピー操作を実行します。Performs the bulk-copy operation using the native (database) data types of the data for noncharacter data, and Unicode characters for character data. -w オプションの代わりにこのオプションを使用すると、高いパフォーマンスが得られます。このオプションは、データ ファイルを使用して SQL ServerSQL Server のインスタンスから別のインスタンスにデータを転送する場合に使用します。This option offers a higher performance alternative to the -w option, and is intended for transferring data from one instance of SQL ServerSQL Server to another using a data file. フィールドごとにプロンプトは表示されません。It does not prompt for each field. ANSI 拡張文字を含むデータを転送し、ネイティブ モードのパフォーマンスを利用する場合は、このオプションを使用します。Use this option when you are transferring data that contains ANSI extended characters and you want to take advantage of the performance of native mode.

詳細については、「Unicode ネイティブ形式を使用したデータのインポートまたはエクスポート (SQL Server)」をご覧ください。For more information, see Use Unicode Native Format to Import or Export Data (SQL Server).

データをエクスポートした後で、-N を付けて bcp.exe を実行して同じテーブル スキーマにそのデータをインポートした場合、Unicode 以外の固定長の文字の列 (char(10) など) があると、切り捨ての警告が表示されることがあります。If you export and then import data to the same table schema by using bcp.exe with -N, you might see a truncation warning if there is a fixed length, non-Unicode character column (for example, char(10)).

この警告は、無視してもかまいません。The warning can be ignored. この警告を解決するには、 -N ではなく -nを使用する方法があります。One way to resolve this warning is to use -n instead of -N.

-o 出力_ファイル-o output_file
コマンド プロンプトからリダイレクトされた出力を受け取るファイル名を指定します。Specifies the name of a file that receives output redirected from the command prompt.

output_file がハイフン (-) またはスラッシュ (/) で始まる場合は、 -ooutput_file 値の間に空白を入れないでください。If output_file begins with a hyphen (-) or a forward slash (/), do not include a space between -o and the output_file value.

-P password-P password
ログイン ID のパスワードを指定します。Specifies the password for the login ID. このオプションを指定しない場合、 bcp コマンドによってパスワードが要求されます。If this option is not used, the bcp command prompts for a password. また、このオプションをコマンド プロンプトの最後にパスワードなしで使用すると、 bcp では既定のパスワード (NULL) が使用されます。If this option is used at the end of the command prompt without a password, bcp uses the default password (NULL).

重要

空白のパスワードは使用しないでください。Do not use a blank password. 強力なパスワードを使用してください。Use a strong password.

パスワードをマスクする場合は、 -P オプションを -U オプションと共に指定しないでください。To mask your password, do not specify the -P option along with the -U option. bcp-U オプションおよび他のスイッチと共に指定した後 ( -Pは指定しない)、Enter キーを押すと、このコマンドによってパスワードが要求されます。Instead, after specifying bcp along with the -U option and other switches (do not specify -P), press ENTER, and the command will prompt you for a password. この方法を使用すると、入力時にパスワードが確実にマスクされます。This method ensures that your password will be masked when it is entered.

password がハイフン (-) またはスラッシュ (/) で始まる場合は、 -Ppassword 値の間に空白を入れないでください。If password begins with a hyphen (-) or a forward slash (/), do not add a space between -P and the password value.

-q-q
bcp ユーティリティと SQL ServerSQL Serverのインスタンス間の接続で、SET QUOTED_IDENTIFIERS ON ステートメントを実行します。Executes the SET QUOTED_IDENTIFIERS ON statement in the connection between the bcp utility and an instance of SQL ServerSQL Server. 名前に空白や単一引用符が含まれるデータベース、所有者、テーブル、またはビューを指定する場合に、このオプションを使用します。Use this option to specify a database, owner, table, or view name that contains a space or a single quotation mark. 3 つの要素から成るテーブル名またはビュー名全体を、二重引用符 (" ") で囲みます。Enclose the entire three-part table or view name in quotation marks ("").

空白や単一引用符を含むデータベース名を指定するには、 -q オプションを使用する必要があります。To specify a database name that contains a space or single quotation mark, you must use the –q option.

-q は、 -dに渡される値には適用されません。-q does not apply to values passed to -d.

詳細については、後の「 解説」を参照してください。For more information, see Remarks, later in this topic.

-r 行_用語-r row_term
行ターミネータを指定します。Specifies the row terminator. 既定値は \n (改行文字) です。The default is \n (newline character). 既定の行ターミネータをオーバーライドする場合、このパラメーターを使用します。Use this parameter to override the default row terminator. 詳細については、「 フィールド ターミネータと行ターミネータの指定 (SQL Server)」を参照してください。For more information, see Specify Field and Row Terminators (SQL Server).

bcp.exe コマンドでは、行ターミネータを 16 進数表記で指定すると、値が 0x00 で切り捨てられます。If you specify the row terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. たとえば、0x410041 を指定した場合、使用されるのは 0x41 になります。For example, if you specify 0x410041, 0x41 will be used.

row_term がハイフン (-) またはスラッシュ (/) で始まる場合は、 -rrow_term 値の間に空白を入れないでください。If row_term begins with a hyphen (-) or a forward slash (/), do not include a space between -r and the row_term value.

-R-R
通貨、日付、時刻のデータを SQL ServerSQL Server に一括コピーする場合に、クライアント コンピューターのロケール設定に定義された地域別設定が使用されます。Specifies that currency, date, and time data is bulk copied into SQL ServerSQL Server using the regional format defined for the locale setting of the client computer. 既定の設定では、地域別設定は無視されます。By default, regional settings are ignored.

-S server_name [\instance_name] 接続先となる SQL ServerSQL Server のインスタンスを指定します。-S server_name [\instance_name] Specifies the instance of SQL ServerSQL Server to which to connect. サーバーを指定しない場合、 bcp ユーティリティは、ローカル コンピューター上の SQL ServerSQL Server の既定のインスタンスに接続されます。If no server is specified, the bcp utility connects to the default instance of SQL ServerSQL Server on the local computer. ネットワーク上のリモート コンピューターまたはローカルの名前付きインスタンスから bcp コマンドを実行するときは、このオプションが必要です。This option is required when a bcp command is run from a remote computer on the network or a local named instance. サーバー上にある SQL ServerSQL Server の既定のインスタンスに接続するには、 server_nameのみを指定します。To connect to the default instance of SQL ServerSQL Server on a server, specify only server_name. SQL ServerSQL Server の名前付きインスタンスに接続するには、server_name\instance_name を指定します。To connect to a named instance of SQL ServerSQL Server, specify server_name\instance_name.

-t フィールド_用語-t field_term
フィールド ターミネータを指定します。Specifies the field terminator. 既定値は \t (タブ文字) です。The default is \t (tab character). 既定のフィールド ターミネータをオーバーライドする場合、このパラメーターを使用します。Use this parameter to override the default field terminator. 詳細については、「フィールド ターミネータと行ターミネータの指定 (SQL Server)」をご覧ください。For more information, see Specify Field and Row Terminators (SQL Server).

bcp.exe コマンドでは、フィールド ターミネータを 16 進数表記で指定すると、値が 0x00 で切り捨てられます。If you specify the field terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. たとえば、0x410041 を指定した場合、使用されるのは 0x41 になります。For example, if you specify 0x410041, 0x41 will be used.

field_term がハイフン (-) またはスラッシュ (/) で始まる場合は、 -tfield_term 値の間に空白を入れないでください。If field_term begins with a hyphen (-) or a forward slash (/), do not include a space between -t and the field_term value.

-T-T
bcp ユーティリティが統合セキュリティを使用した信頼関係接続を使用して SQL ServerSQL Server に接続することを指定します。Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. ネットワーク ユーザーのセキュリティ資格情報である login_idおよび password は必要ありません。The security credentials of the network user, login_id, and password are not required. -T を指定しない場合、正常にログインするには -U-P を指定する必要があります。If –T is not specified, you need to specify –U and –P to successfully log in.

重要

bcp ユーティリティが、統合セキュリティを使用したセキュリティ接続で SQL ServerSQL Server に接続している場合は、 user namepassword の組み合わせではなく、 -T オプション (セキュリティ接続) を使用します。When the bcp utility is connecting to SQL ServerSQL Server with a trusted connection using integrated security, use the -T option (trusted connection) instead of the user name and password combination. bcp ユーティリティが SQL Database または SQL Data Warehouse に接続している場合、Windows 認証または Azure Active Directory 認証の使用はサポートされません。When the bcp utility is connecting to SQL Database or SQL Data Warehouse, using Windows authentication or Azure Active Directory authentication is not supported. -U および -P オプションを使用します。Use the -U and -P options.

-U login_id-U login_id
SQL ServerSQL Serverへの接続に使用されるログイン ID を指定します。Specifies the login ID used to connect to SQL ServerSQL Server.

重要

bcp ユーティリティが、統合セキュリティを使用したセキュリティ接続で SQL ServerSQL Server に接続している場合は、 user namepassword の組み合わせではなく、 -T オプション (セキュリティ接続) を使用します。When the bcp utility is connecting to SQL ServerSQL Server with a trusted connection using integrated security, use the -T option (trusted connection) instead of the user name and password combination. bcp ユーティリティが SQL Database または SQL Data Warehouse に接続している場合、Windows 認証または Azure Active Directory 認証の使用はサポートされません。When the bcp utility is connecting to SQL Database or SQL Data Warehouse, using Windows authentication or Azure Active Directory authentication is not supported. -U および -P オプションを使用します。Use the -U and -P options.

-v-v
bcp ユーティリティのバージョン番号と著作権に関する情報を報告します。Reports the bcp utility version number and copyright.

-V (80 | 90 | 100 | 110 | 120 | 130 )-V (80 | 90 | 100 | 110 | 120 | 130 )
以前のバージョンの SQL ServerSQL Serverのデータ型を使用して一括コピー操作を実行します。Performs the bulk-copy operation using data types from an earlier version of SQL ServerSQL Server. このオプションを使用すると、フィールドごとにプロンプトが表示されません。既定値が使用されます。This option does not prompt for each field; it uses the default values.

80 = SQL Server 2000 (8.x)SQL Server 2000 (8.x)80 = SQL Server 2000 (8.x)SQL Server 2000 (8.x)

90 = SQL Server 2005SQL Server 200590 = SQL Server 2005SQL Server 2005

100 = SQL Server 2008:SQL Server 2008 および SQL Server 2008 R2SQL Server 2008 R2100 = SQL Server 2008:SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2

110 = SQL Server 2012 (11.x)SQL Server 2012 (11.x)110 = SQL Server 2012 (11.x)SQL Server 2012 (11.x)

120 = SQL Server 2014 (12.x)SQL Server 2014 (12.x)120 = SQL Server 2014 (12.x)SQL Server 2014 (12.x)

130 = SQL Server 2016 (13.x)SQL Server 2016 (13.x)130 = SQL Server 2016 (13.x)SQL Server 2016 (13.x)

たとえば、 SQL Server 2000 (8.x)SQL Server 2000 (8.x)でサポートされておらず、それ以降のバージョンの SQL ServerSQL Serverで導入された型のデータを生成する場合は、-V80 オプションを使用します。For example, to generate data for types not supported by SQL Server 2000 (8.x)SQL Server 2000 (8.x), but were introduced in later versions of SQL ServerSQL Server, use the -V80 option.

詳細については、「 以前のバージョンの SQL Server からのネイティブ形式データおよび文字形式データのインポート」をご覧ください。For more information, see Import Native and Character Format Data from Earlier Versions of SQL Server.

-w-w
Unicode 文字を使用して一括コピー操作を実行します。Performs the bulk copy operation using Unicode characters. このオプションを使用すると、フィールドごとにプロンプトが表示されません。ストレージ型 nchar 、プレフィックスなし、フィールド区切り文字 \t (タブ)、および行ターミネータ \n (改行文字) が使用されます。This option does not prompt for each field; it uses nchar as the storage type, no prefixes, \t (tab character) as the field separator, and \n (newline character) as the row terminator. -w-c と互換性がありません。-w is not compatible with -c.

詳細については、「 Unicode 文字形式を使用したデータのインポートまたはエクスポート (SQL Server)」をご覧ください。For more information, see Use Unicode Character Format to Import or Export Data (SQL Server).

-x-x
format および -f format_file オプションと共に使用し、既定の XML ではないフォーマット ファイルの代わりに XML ベースのフォーマット ファイルを生成します。Used with the format and -f format_file options, generates an XML-based format file instead of the default non-XML format file. -x はデータのインポート時とエクスポート時には機能しません。The -x does not work when importing or exporting data. format および -f format_fileの両方を指定せずに使用すると、エラーが生成されます。It generates an error if used without both format and -f format_file.

解説Remarks

bcp 13.0 クライアントは、 MicrosoftMicrosoft SQL Server 2017SQL Server 2017 のツールをインストールしたときにインストールされます。The bcp 13.0 client is installed when you install MicrosoftMicrosoft SQL Server 2017SQL Server 2017 tools. SQL Server 2017SQL Server 2017 と以前のバージョンの SQL ServerSQL Serverの両方のツールがインストールされている場合、PATH 環境変数の値の順番によっては、 bcp 13.0 クライアントではなく、以前の bcp クライアントを使用している可能性があります。If tools are installed for both SQL Server 2017SQL Server 2017 and an earlier version of SQL ServerSQL Server, depending on the order of values of the PATH environment variable, you might be using the earlier bcp client instead of the bcp 13.0 client. この環境変数によって Windows で実行可能ファイルを探すときに使用されるディレクトリのセットが定義されます。This environment variable defines the set of directories used by Windows to search for executable files. 使用しているバージョンを確認するには、Windows のコマンド プロンプトで bcp /v コマンドを実行します。To discover which version you are using, run the bcp /v command at the Windows Command Prompt. コマンド パスを PATH 環境変数で設定する方法の詳細については、Windows のヘルプを参照してください。For information about how to set the command path in the PATH environment variable, see Windows Help.

bcp ユーティリティは、Microsoft SQL Server 2016 Feature Pack とは別にダウンロードすることもできます。The bcp utility can also be downloaded separately from the Microsoft SQL Server 2016 Feature Pack. ENU\x64\MsSqlCmdLnUtils.msi または ENU\x86\MsSqlCmdLnUtils.msiを選択してください。Select either ENU\x64\MsSqlCmdLnUtils.msi or ENU\x86\MsSqlCmdLnUtils.msi.

XML フォーマット ファイルは SQL ServerSQL Server ツールが SQL ServerSQL Server Native Client と共にインストールされている場合のみサポートされます。XML format files are only supported when SQL ServerSQL Server tools are installed together with SQL ServerSQL Server Native Client.

bcp ユーティリティのある場所や、実行する方法、コマンド プロンプト ユーティリティの構文規則については、「コマンド プロンプト ユーティリティ リファレンス (データベース エンジン)」をご覧ください。For information about where to find or how to run the bcp utility and about the command prompt utilities syntax conventions, see Command Prompt Utility Reference (Database Engine).

データを一括インポートまたはエクスポート用に準備する方法については、「一括エクスポートまたは一括インポートのデータの準備 (SQL Server)」をご覧ください。For information on preparing data for bulk import or export operations, see Prepare Data for Bulk Export or Import (SQL Server).

一括インポートによって実行される行挿入操作がトランザクション ログに記録される条件について詳しくは、「 一括インポートで最小ログ記録を行うための前提条件」をご覧ください。For information about when row-insert operations that are performed by bulk import are logged in the transaction log, see Prerequisites for Minimal Logging in Bulk Import.

ネイティブ データ ファイルのサポートNative Data File Support

SQL Server 2017SQL Server 2017bcp ユーティリティでは、 SQL Server 2000 (8.x)SQL Server 2000 (8.x)SQL Server 2005SQL Server 2005SQL Server 2008:SQL Server 2008SQL Server 2008 R2SQL Server 2008 R2、および SQL Server 2012 (11.x)SQL Server 2012 (11.x)と互換性のあるネイティブ データ ファイルがサポートされています。In SQL Server 2017SQL Server 2017, the bcp utility supports native data files compatible with SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL Server 2005SQL Server 2005, SQL Server 2008:SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, and SQL Server 2012 (11.x)SQL Server 2012 (11.x).

計算列とタイムスタンプ列Computed Columns and timestamp Columns

計算列または timestamp 列にインポートされるデータ ファイル内の値は無視され、 SQL ServerSQL Server によって自動的に値が割り当てられます。Values in the data file being imported for computed or timestamp columns are ignored, and SQL ServerSQL Server automatically assigns values. データ ファイルにテーブル内の計算列または timestamp 列の値が含まれない場合は、フォーマット ファイルを使用して、データのインポート時にテーブル内の計算列または timestamp 列を無視するように指定します。この列の値は SQL ServerSQL Server によって自動的に割り当てられます。If the data file does not contain values for the computed or timestamp columns in the table, use a format file to specify that the computed or timestamp columns in the table should be skipped when importing data; SQL ServerSQL Server automatically assigns values for the column.

計算列と timestamp 列は、通常どおり、 SQL ServerSQL Server からデータ ファイルに一括コピーされます。Computed and timestamp columns are bulk copied from SQL ServerSQL Server to a data file as usual.

空白や引用符を含む識別子の指定Specifying Identifiers That Contain Spaces or Quotation Marks

SQL ServerSQL Server 識別子には、空白や引用符などを埋め込むことができます。identifiers can include characters such as embedded spaces and quotation marks. これらの識別子は次のように扱う必要があります。Such identifiers must be treated as follows:

  • コマンド プロンプトで空白や引用符を含む識別子またはファイル名を指定する場合、識別子を二重引用符 (" ") で囲みます。When you specify an identifier or file name that includes a space or quotation mark at the command prompt, enclose the identifier in quotation marks ("").

    たとえば、次の bcp out コマンドでは、 Currency Types.datという名前のデータ ファイルが作成されます。For example, the following bcp out command creates a data file named Currency Types.dat:

    bcp AdventureWorks2012.Sales.Currency out "Currency Types.dat" -T -c  
    
  • 空白や引用符を含むデータベース名を指定するには、 -q オプションを使用する必要があります。To specify a database name that contains a space or quotation mark, you must use the -q option.

  • 空白文字や引用符を含んでいる所有者、テーブル、またはビューの名前については、次のうちのいずれかを行うことができます。For owner, table, or view names that contain embedded spaces or quotation marks, you can either:

    • -q オプションを指定します。Specify the -q option, or

    • 所有者名、テーブル名、またはビュー名を、引用符内でかっこ ([ ]) を使用して囲みます。Enclose the owner, table, or view name in brackets ([]) inside the quotation marks.

データの検証Data Validation

bcp によってデータ検証とデータ チェックが実行されるようになったため、無効なデータを含むデータ ファイルに対して実行した場合、このスクリプトは失敗する可能性があります。bcp now enforces data validation and data checks that might cause scripts to fail if they are executed on invalid data in a data file. たとえば、 bcp では次の検証が行われます。For example, bcp now verifies that:

  • float データ型または real データ型のネイティブ表記が有効かどうか。The native representation of float or real data types are valid.

  • Unicode データが偶数バイト長かどうか。Unicode data has an even-byte length.

    以前のリリースでは、クライアントが無効なデータにアクセスを試みるまでは失敗が発生することはありませんでしたが、以前のバージョンの SQL ServerSQL Server で一括インポート可能であった無効な形式のデータが、新しいバージョンでは読み込みに失敗する場合があります。Forms of invalid data that could be bulk imported in earlier versions of SQL ServerSQL Server might fail to load now; whereas, in earlier versions, the failure did not occur until a client tried to access the invalid data. 今回のリリースでは検証機能が追加されたため、一括読み込み後のクエリで発生する問題を最小限に抑えられます。The added validation minimizes surprises when querying the data after bulk load.

SQLXML ドキュメントの一括エクスポートまたは一括インポートBulk Exporting or Importing SQLXML Documents

SQLXML データを一括エクスポートまたは一括インポートする場合、フォーマット ファイルのデータ型には次のいずれかを使用します。To bulk export or import SQLXML data, use one of the following data types in your format file.

データ型Data type 結果Effect
SQLCHAR または SQLVARYCHARSQLCHAR or SQLVARYCHAR データは、クライアント コード ページまたは照合順序で暗黙的に指定されるコード ページで送られます。The data is sent in the client code page or in the code page implied by the collation). 結果は、フォーマット ファイルを指定せずに -c スイッチを指定した場合と同じです。The effect is the same as specifying the -c switch without specifying a format file.
SQLNCHAR または SQLNVARCHARSQLNCHAR or SQLNVARCHAR データは Unicode として送られます。The data is sent as Unicode. 結果は、フォーマット ファイルを指定せずに -w スイッチを指定した場合と同じです。The effect is the same as specifying the -w switch without specifying a format file.
SQLBINARY または SQLVARYBINSQLBINARY or SQLVARYBIN データは変換なしで送られます。The data is sent without any conversion.

アクセス許可Permissions

bcp out 操作には、ソース テーブルでの SELECT 権限が必要です。A bcp out operation requires SELECT permission on the source table.

bcp in 操作には、対象となるテーブルでの SELECT/INSERT 権限が最低限必要となります。A bcp in operation minimally requires SELECT/INSERT permissions on the target table. また、次のうちのいずれかに該当する場合は、ALTER TABLE 権限が必要です。In addition, ALTER TABLE permission is required if any of the following is true:

  • 制約が存在するため、CHECK_CONSTRAINTS ヒントを指定しません。Constraints exist and the CHECK_CONSTRAINTS hint is not specified.

    注意

    制約の無効化は既定の動作です。Disabling constraints is the default behavior. 制約を明示的に有効にするには、CHECK_CONSTRAINTS ヒントと共に -h オプションを使用します。To enable constraints explicitly, use the -h option with the CHECK_CONSTRAINTS hint.

  • トリガーが存在するため、FIRE_TRIGGER ヒントを指定しません。Triggers exist and the FIRE_TRIGGER hint is not specified.

    注意

    既定では、トリガーは起動しません。By default, triggers are not fired. トリガーを明示的に起動するには、FIRE_TRIGGERS ヒントと共に -h オプションを使用します。To fire triggers explicitly, use the -h option with the FIRE_TRIGGERS hint.

  • -E オプションを使用して、データ ファイルから ID 値をインポートします。You use the -E option to import identity values from a data file.

注意

SQL Server 2005SQL Server 2005からは、対象テーブルでの ALTER TABLE 権限が必要となりました。Requiring ALTER TABLE permission on the target table was new in SQL Server 2005SQL Server 2005. この新しい要件により、対象テーブルでの ALTER TABLE 権限がユーザー アカウントに与えられていないと、トリガーおよび制約チェックを実行しない bcp スクリプトは失敗する可能性があります。This new requirement might cause bcp scripts that do not enforce triggers and constraint checks to fail if the user account lacks ALTER table permissions for the target table.

キャラクター モード (-c) およびネイティブ モード (-n) のベスト プラクティスCharacter Mode (-c) and Native Mode (-n) Best Practices

このセクションでは、キャラクター モード (-c) およびネイティブ モード (-n) の推奨事項について説明します。This section has recommendations for to character mode (-c) and native mode (-n).

  • (管理者/ユーザー) 可能であれば、ネイティブ形式 (-n) を使用して、区切り記号の問題を回避します。(Administrator/User) When possible, use native format (-n) to avoid the separator issue. SQL ServerSQL Serverを使用してエクスポートおよびインポートを行うには、ネイティブ形式を使用します。Use the native format to export and import using SQL ServerSQL Server. データを SQL ServerSQL Server 以外のデータベースにインポートする場合は、データを SQL ServerSQL Server からエクスポートするときに -c または -w オプションを使用します。Export data from SQL ServerSQL Server using the -c or -w option if the data will be imported to a non- SQL ServerSQL Server database.

  • (管理者) BCP OUT を使用するときに、データを検証します。(Administrator) Verify data when using BCP OUT. たとえば、BCP OUT、BCP IN、その後 BCP OUT を使用する場合、データが正しくエクスポートされ、ターミネータ値がデータ値の一部として使用されていないことを確認します。For example, when you use BCP OUT, BCP IN, and then BCP OUT verify that the data is properly exported and the terminator values are not used as part of some data value. ターミネータ値とデータ値の競合を回避するために、-t および -r オプションを使用して、既定のターミネータ値をランダムな 16 進数値でオーバーライドすることを検討してください。Please consider overriding the default terminators (using -t and -r options) with random hexadecimal values to avoid conflicts between terminator values and data values.

  • (ユーザー) 実際の文字列値と競合する可能性を最小限に抑えるために、長くて一意のターミネータ (バイトまたはキャラクターの任意のシーケンス) を使用します。(User) Use a long and unique terminator (any sequence of bytes or characters) to minimize the possibility of a conflict with the actual string value. これには、-t および -r オプションを使用します。This can be done by using the -t and -r options.

使用例Examples

ここでは、次の例について説明します。This section contains the following examples:

  • A.A. bcp ユーティリティ バージョンの特定Identify bcp utility version

  • B.B. データ ファイルへのテーブル行のコピー (セキュリティ接続を使用)Copying table rows into a data file (with a trusted connection)

  • C.C. データ ファイルへのテーブル行のコピー (混合モード認証を使用)Copying table rows into a data file (with Mixed-mode Authentication)

  • D.D. ファイルからテーブルへのデータのコピーCopying data from a file to a table

  • E.E. データ ファイルへの特定の列のコピーCopying a specific column into a data file

  • F.F. データ ファイルへの特定の行のコピーCopying a specific row into a data file

  • G.G. クエリからデータ ファイルへのデータのコピーCopying data from a query to a data file

  • H.H. フォーマット ファイルの作成Creating format files

  • I.I. フォーマット ファイルを使用した bcpでの一括インポートUsing a format file to bulk import with bcp

テスト条件の例Example Test Conditions

以下の例では、SQL Server (2016 以降) および Azure SQL Database 用の WideWorldImporters サンプル データベースを利用しています。The examples below make use of the WideWorldImporters sample database for SQL Server (starting 2016) and Azure SQL Database. WideWorldImporters ダウンロードできます https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0します。WideWorldImporters can be downloaded from https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0. サンプル データベースを復元する構文については、「 RESTORE (Transact-SQL) 」を参照してください。See RESTORE (Transact-SQL) for the syntax to restore the sample database. 特記していない場合、この例では、Windows 認証を使用していること、および bcp コマンドを実行しているサーバー インスタンスへのセキュリティ接続があることを前提としています。Except where specified otherwise, the examples assume that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command. 多くの例では、 D:\BCP というディレクトリを使用します。A directory named D:\BCP will be used in many of the examples.

以下のスクリプトでは、WideWorldImporters.Warehouse.StockItemTransactions テーブルの空のコピーを作成し、主キー制約を追加します。The script below creates an empty copy of the WideWorldImporters.Warehouse.StockItemTransactions table and then adds a primary key constraint. SQL Server Management Studio (SSMS) で、次の T-SQL スクリプトを実行します。Run the following T-SQL script in SQL Server Management Studio (SSMS)

USE WideWorldImporters;  
GO  

SET NOCOUNT ON;

IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Warehouse.StockItemTransactions_bcp')     
BEGIN
    SELECT * INTO WideWorldImporters.Warehouse.StockItemTransactions_bcp
    FROM WideWorldImporters.Warehouse.StockItemTransactions  
    WHERE 1 = 2;  

    ALTER TABLE Warehouse.StockItemTransactions_bcp 
    ADD CONSTRAINT PK_Warehouse_StockItemTransactions_bcp PRIMARY KEY NONCLUSTERED 
    (StockItemTransactionID ASC);
END

注意

必要に応じて、 StockItemTransactions_bcp テーブルの全行を削除します。Truncate the StockItemTransactions_bcp table as needed.

TRUNCATE TABLE WideWorldImporters.Warehouse.StockItemTransactions_bcp;TRUNCATE TABLE WideWorldImporters.Warehouse.StockItemTransactions_bcp;

A.A. bcp ユーティリティ バージョンの特定Identify bcp utility version

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

bcp -v

B.B. データ ファイルへのテーブル行のコピー (セキュリティ接続を使用)Copying table rows into a data file (with a trusted connection)

次の例は、 テーブルに対する out WideWorldImporters.Warehouse.StockItemTransactions オプションを示します。The following examples illustrates the out option on the WideWorldImporters.Warehouse.StockItemTransactions table.

  • 基本Basic
    StockItemTransactions_character.bcp という名前のデータ ファイルを作成し、 文字 形式を使用してテーブルのデータをこのデータ ファイルにコピーします。This example creates a data file named StockItemTransactions_character.bcp and copies the table data into it using character format.

    コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -T
    
    • 拡張Expanded
      StockItemTransactions_native.bcp という名前のデータ ファイルを作成し、 ネイティブ 形式を使用してテーブルのデータをこのデータ ファイルにコピーします。This example creates a data file named StockItemTransactions_native.bcp and copies the table data into it using the native format. この例では、構文エラーの最大数、エラー ファイル、出力ファイルも指定しています。The example also: specifies the maximum number of syntax errors, an error file, and an output file.

      コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

      bcp WideWorldImporters.Warehouse.StockItemTransactions OUT D:\BCP\StockItemTransactions_native.bcp -m 1 -n -e D:\BCP\Error_out.log -o D:\BCP\Output_out.log -S -T
      

Error_out.logOutput_out.logを確認します。Review Error_out.log and Output_out.log. Error_out.log は、空白にする必要があります。Error_out.log should be blank. StockItemTransactions_character.bcpStockItemTransactions_native.bcpのファイル サイズを比較します。Compare the file sizes between StockItemTransactions_character.bcp and StockItemTransactions_native.bcp.

C.C. データ ファイルへのテーブル行のコピー (混合モード認証を使用)Copying table rows into a data file (with mixed-mode authentication)

次の例では、WideWorldImporters.Warehouse.StockItemTransactions テーブルに対して out オプションを実行します。The following example illustrates the out option on the WideWorldImporters.Warehouse.StockItemTransactions table. StockItemTransactions_character.bcp という名前のデータ ファイルを作成し、 文字 形式を使用してテーブルのデータをこのデータ ファイルにコピーします。This example creates a data file named StockItemTransactions_character.bcp and copies the table data into it using character format.

この例では、混合モード認証を使用していることを前提としているため、ログイン ID の指定に -U スイッチを使用する必要があります。The example assumes that you are using mixed-mode authentication, you must use the -U switch to specify your login ID. また、ローカル コンピューター上にある SQL ServerSQL Server の既定のインスタンスに接続する以外の場合は、 -S スイッチを使用して、システム名と、オプションでインスタンス名を指定します。Also, unless you are connecting to the default instance of SQL ServerSQL Server on the local computer, use the -S switch to specify the system name and, optionally, an instance name.

コマンド プロンプトに次のコマンドを入力します。 (パスワードの入力が求められます。)At a command prompt, enter the following command: (The system will prompt you for your password.)

bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -U<login_id> -S<server_name\instance_name>

D.D. ファイルからテーブルへのデータのコピーCopying data from a file to a table

次の例は、上で作成したファイルを使用して、 テーブルの in WideWorldImporters.Warehouse.StockItemTransactions_bcp オプションを示しています。The following examples illustrate the in option on the WideWorldImporters.Warehouse.StockItemTransactions_bcp table using files created above.

  • 基本Basic
    この例では、以前に作成した StockItemTransactions_character.bcp データ ファイルを使用します。This example uses the StockItemTransactions_character.bcp data file previously created.

    コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\BCP\StockItemTransactions_character.bcp -c -T  
    
  • 拡張Expanded
    この例では、以前に作成した StockItemTransactions_native.bcp データ ファイルを使用します。This example uses the StockItemTransactions_native.bcp data file previously created. この例では、ヒント TABLOCKを使用し、バッチ サイズ、構文エラーの最大数、エラー ファイル、出力ファイルも指定しています。The example also: use the hint TABLOCK, specifies the batch size, the maximum number of syntax errors, an error file, and an output file.

    コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

    bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\BCP\StockItemTransactions_native.bcp -b 5000 -h "TABLOCK" -m 1 -n -e D:\BCP\Error_in.log -o D:\BCP\Output_in.log -S -T 
    

    Error_in.logOutput_in.logを確認します。Review Error_in.log and Output_in.log.

E.E. データ ファイルへの特定の列のコピーCopying a specific column into a data file

特定の列をコピーする場合に、 queryout オプションを使用できます。To copy a specific column, you can use the queryout option. 次の例では、 StockItemTransactionID テーブルの Warehouse.StockItemTransactions 列のみをデータ ファイルにコピーします。The following example copies only the StockItemTransactionID column of the Warehouse.StockItemTransactions table into a data file.

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

bcp "SELECT StockItemTransactionID FROM WideWorldImporters.Warehouse.StockItemTransactions WITH (NOLOCK)" queryout D:\BCP\StockItemTransactionID_c.bcp -c -T

F.F. データ ファイルへの特定の行のコピーCopying a specific row into a data file

特定の行をコピーする場合に、 queryout オプションを使用できます。To copy a specific row, you can use the queryout option. 次の例では、Amy Trefl という名前の個人の行のみを WideWorldImporters.Application.People テーブルからデータ ファイル Amy_Trefl_c.bcp へコピーします。The following example copies only the row for the person named Amy Trefl from the WideWorldImporters.Application.People table into a data file Amy_Trefl_c.bcp. 注: -d スイッチは、データベースの識別に使用されます。Note: the -d switch is used identify the database.

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

bcp "SELECT * from Application.People WHERE FullName = 'Amy Trefl'" queryout D:\BCP\Amy_Trefl_c.bcp -d WideWorldImporters -c -T

G.G. クエリからデータ ファイルへのデータのコピーCopying data from a query to a data file

Transact-SQL ステートメントからデータ ファイルに結果セットをコピーするには、 queryout オプションを使用します。To copy the result set from a Transact-SQL statement to a data file, use the queryout option. 次の例では、フル ネームで並べ替えた名前を WideWorldImporters.Application.People テーブルから People.txt データ ファイルへコピーします。The following example copies the names from the WideWorldImporters.Application.People table, ordered by full name, into the People.txt data file. 注: -t スイッチは、コンマ区切りファイルを作成するために使用します。Note: the -t switch is used to create a comma delimited file.

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

bcp "SELECT FullName, PreferredName FROM WideWorldImporters.Application.People ORDER BY FullName" queryout D:\BCP\People.txt -t, -c -T

H.H. フォーマット ファイルの作成Creating format files

次の例では、WideWorldImporters データベース内の Warehouse.StockItemTransactions テーブルに対して 3 種類のフォーマット ファイルを作成します。The following example creates three different format files for the Warehouse.StockItemTransactions table in the WideWorldImporters database. 作成した各ファイルの内容を確認します。Review the contents of each created file.

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following commands:

REM non-XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_c.fmt -c -T 

REM non-XML native format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_n.fmt -n -T

REM XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\BCP\StockItemTransactions_c.xml -x -c -T

注意

-x スイッチを使用するには、 bcp 9.0 クライアントを使用している必要があります。To use the -x switch, you must be using a bcp 9.0 client. bcp 9.0 クライアントの使用方法の詳細については、「解説」を参照してください。For information about how to use the bcp 9.0 client, see "Remarks."

詳細については、「XML 以外のフォーマット ファイル (SQL Server)」と「XML フォーマット ファイル (SQL Server)」を参照してください。For more information, see Non-XML Format Files (SQL Server) and XML Format Files (SQL Server).

I.I. フォーマット ファイルを使用した bcp での一括インポートUsing a format file to bulk import with bcp

SQL ServerSQL Serverのインスタンスにデータをインポートするときに、既に作成してあるフォーマット ファイルを使用するには、 -f スイッチを in オプションと共に使用します。To use a previously created format file when importing data into an instance of SQL ServerSQL Server, use the -f switch with the in option. たとえば、次のコマンドは、作成済みのフォーマット ファイル ( StockItemTransactions_character.bcp) を使用して、データ ファイル ( Warehouse.StockItemTransactions_bcp ) の内容を StockItemTransactions_c.xmlテーブルのコピーに一括コピーします。For example, the following command bulk copies the contents of a data file, StockItemTransactions_character.bcp, into a copy of the Warehouse.StockItemTransactions_bcp table by using the previously created format file, StockItemTransactions_c.xml. 注: -L スイッチは、最初の 100 レコードのみをインポートするために使用されます。Note: the -L switch is used to import only the first 100 records.

コマンド プロンプトで、次のコマンドを入力します。At a command prompt, enter the following command:

bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp in D:\BCP\StockItemTransactions_character.bcp -L 100 -f D:\BCP\StockItemTransactions_c.xml -T 

注意

フォーマット ファイルは、データ ファイルのフィールドとテーブル列の数、順序、データ型などが異なる場合に役立ちます。Format files are useful when the data file fields are different from the table columns; for example, in their number, ordering, or data types. 詳細については、「 データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)オプションと同時に使う場合はその知識が必要になります。For more information, see Format Files for Importing or Exporting Data (SQL Server).

J.J. コード ページの指定Specifying a code page

次の部分的なコード例は、コード ページ 65001 を指定した bcp インポートを示しています。The following partial code example shows bcp import while specifying a code page 65001:

bcp.exe MyTable in "D:\data.csv" -T -c -C 65001 -t , ...  

次の部分的なコード例は、コード ページ 65001 を指定した bcp エクスポートを示しています。The following partial code example shows bcp export while specifying a code page 65001:

bcp.exe MyTable out "D:\data.csv" -T -c -C 65001 -t , ...  

その他の例Additional Examples

次のトピックでは、bcp の使用例を示します。The following topics contain examples of using bcp:
一括インポートまたは一括エクスポートのデータ形式 (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)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)

XML ドキュメントの一括インポートと一括エクスポートの例 (SQL Server)Examples of Bulk Import and Export of XML Documents (SQL Server)

参照See Also

一括エクスポートまたは一括インポートのデータの準備 (SQL Server) Prepare Data for Bulk Export or Import (SQL Server)
BULK INSERT (Transact-SQL) BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL) SET QUOTED_IDENTIFIER (Transact-SQL)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
sp_tableoption (Transact-SQL) sp_tableoption (Transact-SQL)
データのインポートまたはエクスポート用のフォーマット ファイル (SQL Server)Format Files for Importing or Exporting Data (SQL Server)