bcp 유틸리티bcp Utility

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스 예 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

이전 버전의 SQL Server와 관련 된 콘텐츠를 참조 하십시오. bcp 유틸리티합니다.For content related to previous versions of SQL Server, see bcp Utility.

프로그램 유틸리티(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]
    [-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 | queryout 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 " Is a Transact-SQLTransact-SQL query that returns a result set." 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. 뷰에 데이터를 복사하는 경우의 제한 사항에 대한 자세한 내용은 INSERT(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 StudioSQL Server Management Studio 또는 sp_configure 시스템 저장 프로시저를 사용하여 서버 구성 옵션을 설정할 수 있습니다.A server configuration option can be set by using SQL Server Management StudioSQL 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 는 4096 ~ 65535바이트일 수 있고 기본값은 4096입니다.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. 기본적으로 데이터 파일의 모든 행은 하나의 일괄 처리로 가져옵니다.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 는 문자 값이 127보다 크거나 32보다 작은 char, varchar또는 text 열이 데이터에 포함된 경우에만 적합합니다.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 2016SQL Server 2016) 이전 버전은 코드 페이지 65001(UTF-8 인코딩)을 지원하지 않습니다.Versions prior to version 13 ( SQL Server 2016SQL Server 2016) 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. -ddatabase_name과 세 부분으로 구성된 이름(bcp.exe에 첫 번째 매개 변수로 전달되는 database_name.schema.table)을 지정하면 오류가 발생하는데 이는 데이터베이스 이름을 두 번 지정할 수 없기 때문입니다. 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_file-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:

  • format 옵션과 함께 -f 를 사용하는 경우 지정한 테이블 또는 뷰에 대해 지정한 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).

  • -fin 또는 out 옵션과 함께 사용하는 경우 기존 서식 파일이 필요합니다.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보다 크고(>) 총 행 수보다 작거나(<) 같은(=) 값을 지정해야 합니다.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 는 1부터 시작합니다.-F first_row is 1-based.

-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 를 지정하지 않은 경우에 사용되며 전체 데이터 파일을 단일 트랜잭션으로 서버에 보냅니다.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 이 지정되어 있으면 여러 클라이언트가 동시에 테이블을 로드할 수 있습니다.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.

    참고

    대상 테이블이 클러스터형 columnstore 인덱스인 경우에는 각 동시 스레드가 인덱스 내의 별도 행 그룹에 할당되고 데이터를 로드하기 때문에 여러 동시 클라이언트에서 로드하는 데 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. 자세한 내용은 columnstore 인덱스 개념 항목을 참조하세요.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, queryoutformat 인수에 대해 무시됩니다.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보다 크고(>) 마지막 행 번호보다 작거나(<) 같은(=) 값을 지정해야 합니다.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 유틸리티가 복사할 수 없는 행은 무시되며 오류가 하나 발생한 것으로 간주됩니다.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
데이터의 네이티브(데이터베이스) 데이터 형식을 사용하여 대량 복사 작업을 수행합니다.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
문자가 아닌 데이터의 경우 데이터의 네이티브(데이터베이스) 데이터 형식을 사용하고 문자 데이터의 경우 유니코드 문자를 사용하여 대량 복사 작업을 수행합니다.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.

자세한 내용은 유니코드 네이티브 형식을 사용하여 데이터 가져오기 또는 내보내기(SQL Server)를 참조하세요.For more information, see Use Unicode Native Format to Import or Export Data (SQL Server).

-N과 함께 bcp.exe를 사용하여 동일한 테이블 스키마에 데이터를 내보낸 다음 가져올 경우 유니코드를 지원하지 않는 고정 길이 문자 열(예: 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 output_file-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.

암호를 마스킹하려면 -U 옵션과 함께 -P 옵션을 지정하지 마세요.To mask your password, do not specify the -P option along with the -U option. 대신 -U 옵션 및 기타 스위치와 함께 bcp 를 지정하고( -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. 세 부분으로 구성된 테이블 이름이나 뷰 이름 전체를 큰따옴표("")로 묶습니다.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 row_term-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 field_term-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_idpassword 는 필요하지 않습니다.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 에 연결하는 경우 사용자 이름암호 를 조합하여 사용하는 대신 -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.

-P login_id-U login_id
SQL ServerSQL Server연결에 사용하는 로그인 ID를 지정합니다.Specifies the login ID used to connect to SQL ServerSQL Server.

중요

bcp 유틸리티에서 통합 보안을 사용하는 트러스트된 연결을 통해 SQL ServerSQL Server 에 연결하는 경우 사용자 이름암호 를 조합하여 사용하는 대신 -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 2000SQL Server 200080 = SQL Server 2000SQL Server 2000

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

100 = SQL Server 2008SQL Server 2008SQL Server 2008 R2SQL Server 2008 R2100 = SQL Server 2008SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2

110 = SQL Server 2012SQL Server 2012110 = SQL Server 2012SQL Server 2012

120 = SQL Server 2014SQL Server 2014120 = SQL Server 2014SQL Server 2014

130 = SQL Server 2016SQL Server 2016130 = SQL Server 2016SQL Server 2016

예를 들어 SQL Server 2000SQL Server 2000에서는 지원되지 않지만 그 이후 SQL ServerSQL Server버전에 도입된 형식에 대한 데이터를 생성하려면 -V80 옵션을 사용하십시오.For example, to generate data for types not supported by SQL Server 2000SQL Server 2000, 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
유니코드 문자를 사용하여 대량 복사 작업을 수행합니다.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.

자세한 내용은 유니코드 문자 형식을 사용하여 데이터 가져오기 또는 내보내기(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 도구를 설치하면 MicrosoftMicrosoft SQL Server 2017SQL Server 2017 13.0 클라이언트가 설치됩니다.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 기능 팩에서 별도로 다운로드할 수도 있습니다.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 유틸리티의 위치 또는 실행 방법과 명령 프롬프트 유틸리티 구문 표기 규칙에 대한 자세한 내용은 명령 프롬프트 유틸리티 참조(데이터베이스 엔진#41;를 참조하세요.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

In SQL Server 2017SQL Server 2017에서 bcp 유틸리티는 SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2SQL Server 2012SQL Server 2012와 호환되는 네이티브 데이터 파일만 지원합니다.In SQL Server 2017SQL Server 2017, the bcp utility supports native data files compatible with SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, and SQL Server 2012SQL Server 2012.

계산 열 및 타임스탬프 열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 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 데이터를 유니코드로 보냅니다.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.

PermissionsPermissions

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.

참고

대상 테이블에 대해 ALTER TABLE 권한이 필요하게 된 것은 SQL Server 2005SQL Server 2005부터였습니다.Requiring ALTER TABLE permission on the target table was new in SQL Server 2005SQL Server 2005. 이 요구 사항으로 인해 사용자 계정에 대상 테이블에 대한 ALTER 테이블 권한이 없을 경우 트리거 및 제약 조건 검사를 실행하지 않는 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 데이터베이스로 가져오려는 경우에는 -c 또는 -w 옵션을 사용하여 SQL ServerSQL Server 에서 데이터를 내보냅니다.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. 종결자 값과 데이터 값 간의 충돌을 방지하려면 임의의 16진수 값을 사용하여 기본 종결자를 무시할 수 있습니다(-t 및 -r 옵션 사용).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:

  • 1.A. bcp 유틸리티 버전 식별Identify bcp utility version

  • 2.B. 데이터 파일로 테이블 행 복사(트러스트된 연결 사용)Copying table rows into a data file (with a trusted connection)

  • 3.C. 데이터 파일로 테이블 행 복사(혼합 모드 인증 사용)Copying table rows into a data file (with Mixed-mode Authentication)

  • 4.D. 파일에서 테이블로 데이터 복사Copying data from a file to a table

  • 5.E. 데이터 파일로 특정 열 복사Copying a specific column into a data file

  • 6.F. 데이터 파일로 특정 행 복사Copying a specific row into a data file

  • 7.G. 쿼리에서 데이터 파일로 데이터 복사Copying data from a query to a data file

  • 8.H. 서식 파일 만들기Creating format files

  • 9.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. WideWorldImportershttps://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.

다음 스크립트에서는 WorlWideImporters.Warehouse.StockItemTransactions 테이블의 빈 복사본을 만들고 기본 키 제약 조건을 추가합니다.The script below creates an empty copy of the WorlWideImporters.Warehouse.StockItemTransactions table and then adds a primary key constraint. SSMS(SQL Server Management Studio)에서 다음 T-SQL 스크립트를 실행합니다.Run the following T-SQL script in SQL Server Management Studio (SSMS)

USE WorlWideImporters;  
GO  

SET NOCOUNT ON;

IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Warehouse.StockItemTransactions_bcp')     
BEGIN
    SELECT * INTO WorlWideImporters.Warehouse.StockItemTransactions_bcp
    FROM WorlWideImporters.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 WorlWideImporters.Warehouse.StockItemTransactions_bcp;TRUNCATE TABLE WorlWideImporters.Warehouse.StockItemTransactions_bcp;

1.A. bcp 유틸리티 버전 식별Identify bcp utility version

명령 프롬프트에서 다음 명령을 입력합니다.At a command prompt, enter the following command:

bcp -v

2.B. 데이터 파일로 테이블 행 복사(트러스트된 연결 사용)Copying table rows into a data file (with a trusted connection)

다음 예에서는 테이블의 out WorlWideImporters.Warehouse.StockItemTransactions 옵션에 대해 설명합니다.The following examples illustrates the out option on the WorlWideImporters.Warehouse.StockItemTransactions table.

  • BasicBasic
    이 예에서는 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 WorlWideImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -T
    
    • ExpandedExpanded
      이 예에서는 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 WorlWideImporters.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.

3.C. 데이터 파일로 테이블 행 복사(혼합 모드 인증 사용)Copying table rows into a data file (with mixed-mode authentication)

다음 예에서는 테이블의 out WorlWideImporters.Warehouse.StockItemTransactions 옵션에 대해 설명합니다.The following example illustrates the out option on the WorlWideImporters.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.

이 예에서는 혼합 모드 인증을 사용하고 있다고 가정합니다. -U 스위치를 사용하여 로그인 ID를 지정해야 합니다.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 WorlWideImporters.Warehouse.StockItemTransactions out D:\BCP\StockItemTransactions_character.bcp -c -U<login_id> -S<server_name\instance_name>

4.D. 파일에서 테이블로 데이터 복사Copying data from a file to a table

다음 예제는 위에서 만든 파일을 사용하여 테이블의 in WorlWideImporters.Warehouse.StockItemTransactions_bcp 옵션에 대해 설명합니다.The following examples illustrate the in option on the WorlWideImporters.Warehouse.StockItemTransactions_bcp table using files created above.

  • BasicBasic
    이 예에서는 이전에 만든 StockItemTransactions_character.bcp 데이터 파일을 사용합니다.This example uses the StockItemTransactions_character.bcp data file previously created.

    명령 프롬프트에서 다음 명령을 입력합니다.At a command prompt, enter the following command:

    bcp WorlWideImporters.Warehouse.StockItemTransactions_bcp IN D:\BCP\StockItemTransactions_character.bcp -c -T  
    
  • ExpandedExpanded
    이 예에서는 이전에 만든 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 WorlWideImporters.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.

5.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 WorlWideImporters.Warehouse.StockItemTransactions WITH (NOLOCK)" queryout D:\BCP\StockItemTransactionID_c.bcp -c -T

6.F. 데이터 파일로 특정 행 복사Copying a specific row into a data file

특정 행을 복사하려면 queryout 옵션을 사용합니다.To copy a specific row, you can use the queryout option. 다음 예에서는 Amy Trefl 테이블에서 WorlWideImporters.Application.People 라는 연락처 행만 데이터 파일( Amy_Trefl_c.bcp)로 복사합니다.The following example copies only the row for the person named Amy Trefl from the WorlWideImporters.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 WorlWideImporters -c -T

7.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. 다음 예에서는 WorlWideImporters.Application.People 테이블에서 전체 이름을 기준으로 정렬된 이름을 People.txt 데이터 파일로 복사합니다.The following example copies the names from the WorlWideImporters.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 WorlWideImporters.Application.People ORDER BY FullName" queryout D:\BCP\People.txt -t, -c -T

8.H. 서식 파일 만들기Creating format files

다음 예에서는 Warehouse.StockItemTransactions 데이터베이스의 WorlWideImporters 테이블에 대해 3개의 서로 다른 서식 파일을 만듭니다.The following example creates three different format files for the Warehouse.StockItemTransactions table in the WorlWideImporters database. 만들어진 각 파일의 내용을 검토합니다.Review the contents of each created file.

명령 프롬프트에서 다음 명령을 입력합니다.At a command prompt, enter the following commands:

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

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

REM XML character format
bcp WorlWideImporters.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).

9.I. bcp에서 서식 파일을 사용하여 대량 가져오기 수행Using a format file to bulk import with bcp

SQL ServerSQL Server인스턴스로 데이터를 가져올 때 이전에 만든 서식 파일을 사용하려면 in 옵션과 함께 -f 스위치를 사용합니다.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 WorlWideImporters.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).

10.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)
 ● 데이터를 가져오거나 내보내기 위해 유니코드 네이티브 형식 사용(SQL Server) ● Use Unicode Native Format to Import or Export Data (SQL Server)
 ● 유니코드 문자 형식을 사용하여 데이터 가져오기 및 내보내기(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)