bcp를 사용하여 파일 저장 유형 지정(SQL Server)Specify File Storage Type by Using bcp (SQL Server)

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

파일 저장 유형 은 데이터 파일에서 데이터가 저장되는 방법을 설명합니다.The file storage type describes how data is stored in the data file. 데이터는 데이터베이스 테이블 형식(네이티브 형식), 문자 표시(문자 형식) 또는 암시적 변환을 지원하는 모든 데이터 형식의 데이터 파일로 내보낼 수 있습니다. 예를 들어 smallintint로 복사할 수 있습니다. 사용자 정의 데이터 형식은 해당 기본 형식으로 내보내집니다.Data can be exported to a data file as its database table type (native format), in its character representation (character format), or as any data type where implicit conversion is supported; for example, copying a smallint as an int. User-defined data types are exported as their base types.

파일 저장 유형에 대한 bcp 프롬프트The bcp Prompt for File Storage Type

대화형 bcp 명령에 in 또는 out 옵션이 포함된 경우 서식 파일 스위치(-f) 또는 데이터 형식 스위치(-n, -c, -w또는 -N)가 없으면 각 데이터 필드의 파일 저장 유형을 다음과 같이 입력해야 합니다.If an interactive bcp command contains the in or out option without either the format file switch (-f) or a data-format switch (-n, -c, -w, or -N), the command prompts for the file storage type of each data field, as follows:

Enter the file storage type of field <field_name> [<default>]:

이 프롬프트에 대한 사용자 응답은 수행하는 태스크에 따라 다음과 같이 달라집니다.Your response to this prompt depends on the task you perform, as follows:

  • MicrosoftMicrosoft SQL ServerSQL Server 인스턴스의 데이터를 최대한 압축된 저장 유형(원시 데이터 형식)의 데이터 파일로 대량으로 내보내려면 bcp에서 제공되는 기본 파일 저장 유형을 적용합니다.To bulk export data from an instance of MicrosoftMicrosoft SQL ServerSQL Server to a data file in the most compact storage possible (native data format), accept the default file storage types that are provided by bcp. 네이티브 파일 저장 유형 목록은 이 항목 뒷부분에 있는 "네이티브 파일 저장 유형"을 참조하십시오.For a list of the native file storage types, see "Native File Storage Types," later in this topic.

  • SQL ServerSQL Server 인스턴스에서 데이터를 문자 형식으로 데이터 파일에 대량으로 내보내려면 char 를 테이블의 모든 열에 대한 파일 저장 유형으로 지정합니다.To bulk export data from an instance of SQL ServerSQL Server to a data file in character format, specify char as the file storage type for all columns in the table.

  • 데이터 파일에서 SQL ServerSQL Server 의 인스턴스로 데이터를 대량으로 가져오려면 문자 형식으로 저장된 유형에 대해 char 를 파일 저장 유형으로 지정하고 네이티브 데이터 형식으로 저장된 데이터의 경우 적절한 파일 저장 유형을 지정합니다.To bulk import data to an instance of SQL ServerSQL Server from a data file, specify the file storage type as char for types stored in character format and, for data stored in native data type format, specify one of the file storage types, as appropriate:

    파일 저장 유형File storage type 명령 프롬프트에 입력할 내용Enter at command prompt
    char*char* c[har]c[har]
    varcharvarchar c[har]c[har]
    ncharnchar ww
    nvarcharnvarchar ww
    text*text*** T[ext]T[ext]
    ntext2ntext2 WW
    binarybinary xx
    varbinaryvarbinary xx
    image*image*** I[mage]I[mage]
    datetimedatetime d[ate]d[ate]
    smalldatetimesmalldatetime DD
    timetime tete
    datedate dede
    datetime2datetime2 d2d2
    datetimeoffsetdatetimeoffset dodo
    decimaldecimal n
    numericnumeric n
    floatfloat f[loat]f[loat]
    realreal rr
    정수Int i[nt]i[nt]
    bigintbigint B[igint]B[igint]
    smallintsmallint s[mallint]s[mallint]
    tinyinttinyint t[inyint]t[inyint]
    moneymoney m[oney]m[oney]
    smallmoneysmallmoney MM
    bitbit b[it]b[it]
    uniqueidentifieruniqueidentifier uu
    sql_variantsql_variant V[ariant]V[ariant]
    timestamptimestamp xx
    UDT (사용자 정의 데이터 형식)UDT (a user-defined data type) UU

    *char 파일 저장 유형으로 내보낸 데이터 중 문자가 아닌 데이터에 대해 데이터 파일에 할당되는 저장 공간의 크기는 필드 길이, 접두사 길이 및 종결자의 상호 작용에 따라 결정됩니다.*The interaction of field length, prefix length, and terminators determines the amount of storage space that is allocated in a data file for noncharacter data that is exported as the char file storage type.

    **ntext, textimage 데이터 형식은 SQL ServerSQL Server이후 버전에서 제거됩니다.** The ntext, text, and image data types will be removed in a future version of SQL ServerSQL Server. 향후 개발 작업에서는 이 데이터 형식을 사용하지 않도록 하고 현재 이 데이터 형식을 사용하는 응용 프로그램은 수정하십시오.In new development work, avoid using these data types, and plan to modify applications that currently use them. 대신 nvarchar(max), varchar(max)varbinary(max) 를 사용합니다.Use nvarchar(max), varchar(max), and varbinary(max) instead.

네이티브 파일 저장 유형Native File Storage Types

각 네이티브 파일 저장 유형은 해당 호스트 파일 데이터 형식으로 서식 파일에 기록됩니다.Each native file storage type is recorded in the format file as a corresponding host file data type.

파일 저장 유형File storage type 호스트 파일 데이터 형식Host file data type
varcharvarchar SQLCHARSQLCHAR
nvarcharnvarchar SQLNCHARSQLNCHAR
varbinaryvarbinary SQLBINARYSQLBINARY
smalldatetimesmalldatetime SQLDATETIM4SQLDATETIM4
floatfloat SQLFLT8SQLFLT8
smallmoneysmallmoney SQLMONEY4SQLMONEY4
uniqueidentifieruniqueidentifier SQLUNIQUEIDSQLUNIQUEID
sql_variantsql_variant SQLVARIANTSQLVARIANT
timestamptimestamp SQLBINARYSQLBINARY
UDT(사용자 정의 데이터 형식)UDT (a user-defined data type) SQLUDTSQLUDT

*문자 형식으로 저장된 데이터 파일은 char 을 파일 저장 유형으로 사용합니다.*Data files that are stored in character format use char as the file storage type. 그러므로 문자 데이터 파일의 경우 SQLCHAR는 서식 파일에 나타나는 유일한 데이터 형식입니다.Therefore, for character data files, SQLCHAR is the only data type that appears in a format file.

**DEFAULT 값이 있는 text, ntextimage 열로 데이터를 대량으로 가져올 수 없습니다.**You cannot bulk import data into text, ntext, and image columns that have DEFAULT values.

파일 저장 유형에 대한 추가 고려 사항Additional Considerations for File Storage Types

SQL ServerSQL Server 의 인스턴스에서 데이터 파일로 데이터를 대량으로 내보내는 경우 다음을 고려하십시오.When you bulk export data from an instance of SQL ServerSQL Server to a data file:

  • char 를 항상 파일 저장 유형으로 지정할 수 있습니다.You can always specify char as the file storage type.

  • 잘못된 암시적 변환을 나타내는 파일 저장 유형을 입력하면 bcp 가 실패합니다. 예를 들어 int 데이터에 smallint 를 지정할 수 있지만 smallintint 데이터에 지정하면 오버플로 오류가 발생합니다.If you enter a file storage type that represents an invalid implicit conversion, bcp fails; for example, though you can specify int for smallint data, if you specify smallint for int data, overflow errors result.

  • float, money, datetime또는 int 와 같이 문자가 아닌 데이터 형식이 데이터베이스 형식으로 저장되면 데이터는 SQL ServerSQL Server 네이티브 형식으로 데이터 파일에 기록됩니다.When noncharacter data types such as float, money, datetime, or int are stored as their database types, the data is written to the data file in the SQL ServerSQL Server native format.


    bcp 명령의 모든 필드를 대화형으로 지정하면 명령에서 비 XML 서식 파일의 각 필드에 대한 응답을 저장하라는 메시지를 표시합니다.After you interactively specify all of the fields in a bcp command, the command prompts you save your responses for each field in a non-XML format file. 비 XML 서식 파일에 대한 자세한 내용은 비 XML 서식 파일(SQL Server)을 참조하세요.For more information on non-XML format files, see Non-XML Format Files (SQL Server).

참고 항목See Also

bcp 유틸리티 bcp Utility
데이터 형식(Transact-SQL) Data Types (Transact-SQL)
bcp를 사용하여 필드 길이 지정(SQL Server) Specify Field Length by Using bcp (SQL Server)
필드 및 행 종결자 지정(SQL Server) Specify Field and Row Terminators (SQL Server)
bcp를 사용하여 데이터 파일에 접두사 길이 지정(SQL Server)Specify Prefix Length in Data Files by Using bcp (SQL Server)