SQL Server 이전 버전으로부터 기본 및 문자 형식 데이터 가져오기Import Native and Character Format Data from Earlier Versions of SQL Server

SQL Server 2017SQL Server 2017에서 bcp 를 사용하면 SQL Server 2000SQL Server 2000-V SQL Server 2005SQL Server 2005스위치를 통해 SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012SQL Server 2012 , 또는 에서 원시 및 문자 형식 데이터를 가져올 수 있습니다.In SQL Server 2017SQL Server 2017, you can use bcp to import native and character format data from SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, or SQL Server 2012SQL Server 2012 by using the -V switch. -V SQL ServerSQL Server 스위치를 사용하면 에서 지정된 이전 SQL Server 2017SQL Server 2017 버전의 데이터 형식이 사용되며, 데이터 파일 형식은 해당 이전 버전의 형식과 동일합니다.The -V switch causes SQL Server 2017SQL Server 2017 to use data types from the specified earlier version of SQL ServerSQL Server, and the data file format are the same as the format in that earlier version.

데이터 파일에 대해 이전 SQL ServerSQL Server 버전을 지정하려면 다음 한정자 중 하나와 함께 -V 스위치를 사용합니다.To specify an earlier SQL ServerSQL Server version for a data file, use the -V switch with one of the following qualifiers:

SQL Server 버전SQL Server version 한정자Qualifier
SQL Server 2000SQL Server 2000 -V80-V80
SQL Server 2005SQL Server 2005 -V90-V90
SQL Server 2008SQL Server 2008 -V100-V100
SQL Server 2012SQL Server 2012 -V 110-V 110

데이터 형식 해석Interpretation of Data Types

SQL Server 2005SQL Server 2005 이후 버전에서는 몇 가지 새로운 형식을 지원합니다. and later versions have support for some new types. 새 데이터 형식을 이전 SQL ServerSQL Server 버전으로 가져오려면 이전 bcp 클라이언트에서 읽을 수 있는 형식으로 저장되어야 합니다.When you want to import a new data type into an earlier SQL ServerSQL Server version, the data type must be stored in a format that readable by the older bcp clients. 다음 표에서는 새 데이터 형식을 이전 버전의 SQL ServerSQL Server와 호환되도록 변환하는 방법을 요약합니다.The following table summarizes how the new data types are converted for compatibility with the earlier versions of SQL ServerSQL Server.

SQL Server 2005의 새로운 데이터 형식New data types in SQL Server 2005 6x버전의 호환 데이터 형식Compatible data types in version 6x 70 버전의 호환 데이터 형식Compatible data types in version 70 80 버전의 호환 데이터 형식Compatible data types in version 80
bigintbigint decimaldecimal decimaldecimal *
sql_variantsql_variant texttext nvarchar(4000)nvarchar(4000) *
varchar(max)varchar(max) texttext texttext texttext
nvarchar(max)nvarchar(max) ntextntext ntextntext ntextntext
varbinary(max)varbinary(max) imageimage imageimage imageimage
XMLXML ntextntext ntextntext ntextntext
UDTUDT imageimage imageimage imageimage

이 형식은 기본적으로 지원됩니다.This type is natively supported.

UDT는 사용자 정의 형식을 나타냅니다.UDT indicates a user defined type.

–V 80을 사용하여 내보내기Exporting using –V 80

–V80 스위치를 사용하여 데이터를 대량으로 내보내는 경우 기본 모드의 nvarchar(max), varchar(max), varbinary(max), XML 및 UDT 데이터는 이상 버전의 기본값인 8바이트 접두사가 아니라text ,image ntext SQL Server 2005SQL Server 2005 데이터와 같은 4바이트 접두사를 사용하여 저장됩니다.When you bulk export data by using the –V80 switch, nvarchar(max), varchar(max), varbinary(max), XML, and UDT data in native mode are stored with a 4-byte prefix, like text, image, and ntext data, rather than with an 8-byte prefix, which is the default for SQL Server 2005SQL Server 2005 and later versions.

날짜 값 복사Copying Date Values

bcp 는 ODBC 대량 복사 API를 사용합니다.bcp uses the ODBC bulk copy API. 따라서 데이터 값을 SQL ServerSQL Server로 가져오기 위해 bcp 는 ODBC 날짜 형식(yyyy-mm-dd hh:mm:ss[.f...])을 사용합니다.Therefore, to import date values into SQL ServerSQL Server, bcp uses the ODBC date format (yyyy-mm-dd hh:mm:ss[.f...]).

bcp 명령은 datetimesmalldatetime 값에 대해 ODBC 기본 형식을 사용하여 문자 형식 데이터 파일을 내보냅니다.The bcp command exports character format data files using the ODBC default format for datetime and smalldatetime values. 예를 들어 이라는 날짜가 포함된 datetime 12 Aug 1998 열은 1998-08-12 00:00:00.000문자열로 데이터 파일에 대량 복사됩니다.For example, a datetime column containing the date 12 Aug 1998 is bulk copied to a data file as the character string 1998-08-12 00:00:00.000.


bcp 를 사용하여 smalldatetime필드로 데이터를 가져올 때 초 값이 00.000인지 확인하세요. 그렇지 않으면 작업이 실패합니다.When importing data into a smalldatetime field using bcp, be sure the value for seconds is 00.000; otherwise the operation will fail. smalldatetime 데이터 형식은 가장 근접한 분 값만 갖습니다.The smalldatetime data type only holds values to the nearest minute. 이 경우 BULK INSERT 및 INSERT ... SELECT * FROM OPENROWSET(BULK...)는 이 경우 실패하지 않지만 초 값이 잘립니다.BULK INSERT and INSERT ... SELECT * FROM OPENROWSET(BULK...) will not fail in this instance but will truncate the seconds value.

대량 가져오기 또는 대량 내보내기를 위한 데이터 형식을 사용하려면To use data formats for bulk import or bulk export

참고 항목See Also

bcp Utility bcp Utility
데이터 형식(Transact-SQL) Data Types (Transact-SQL)
SQL Server 데이터베이스 엔진의 이전 버전과의 호환성 SQL Server Database Engine Backward Compatibility
CAST 및 CONVERT(Transact-SQL) CAST and CONVERT (Transact-SQL)