SQL Server 이전 버전으로부터 기본 및 문자 형식 데이터 가져오기
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server 2014(12.x) 이상에서는 bcp를 통해 -V 스위치를 사용하여 SQL Server 2000(8.x), SQL Server 2005(9.x), SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x) 또는 SQL Server 2012(11.x)에서 네이티브 및 문자 형식 데이터를 가져올 수 있습니다. -VSQL Server 스위치를 사용하면 에서 지정된 이전 SQL Server 버전의 데이터 형식이 사용되며, 데이터 파일 형식은 해당 이전 버전의 형식과 동일합니다.
데이터 파일에 대해 이전 SQL Server 버전을 지정하려면 다음 한정자 중 하나와 함께 -V 스위치를 사용합니다.
SQL Server 버전 | 한정자 |
---|---|
SQL Server 2000(8.x) | -V80 |
SQL Server 2005(9.x) | -V90 |
SQL Server 2008(10.0.x) | -V100 |
SQL Server 2012(11.x) | -V 110 |
데이터 형식 해석
SQL Server 2005(9.x) 이후 버전에서는 몇 가지 새로운 형식을 지원합니다. 새 데이터 형식을 이전 SQL Server 버전으로 가져오려면 이전 bcp 클라이언트에서 읽을 수 있는 형식으로 저장되어야 합니다. 다음 표에서는 새 데이터 형식을 이전 버전의 SQL Server와 호환되도록 변환하는 방법을 요약합니다.
SQL Server 2005의 새로운 데이터 형식 | 6x버전의 호환 데이터 형식 | 70 버전의 호환 데이터 형식 | 80 버전의 호환 데이터 형식 |
---|---|---|---|
bigint | decimal | decimal | * |
sql_variant | text | nvarchar(4000) | * |
varchar(max) | text | text | text |
nvarchar(max) | ntext | ntext | ntext |
varbinary(max) | image | image | image |
XML | ntext | ntext | ntext |
UDT** | image | image | image |
*이 형식은 기본적으로 지원됩니다.
**UDT는 사용자 정의 형식을 나타냅니다.
–V 80을 사용하여 내보내기
–V80 스위치를 사용하여 데이터를 대량으로 내보내는 경우 기본 모드의 nvarchar(max) , varchar(max) , varbinary(max) , XML 및 UDT 데이터는 SQL Server 2005(9.x) 이상 버전의 기본값인 8바이트 접두사가 아니라 text, image 및 ntext 데이터와 같은 4바이트 접두사를 사용하여 저장됩니다.
날짜 값 복사
bcp 는 ODBC 대량 복사 API를 사용합니다. 따라서 데이터 값을 SQL Server로 가져오기 위해 bcp 는 ODBC 날짜 형식(yyyy-mm-dd hh:mm:ss[ .f... ])을 사용합니다.
bcp 명령은 datetime 및 smalldatetime 값에 대해 ODBC 기본 형식을 사용하여 문자 형식 데이터 파일을 내보냅니다. 예를 들어 이라는 날짜가 포함된 datetime 12 Aug 1998
열은 1998-08-12 00:00:00.000
문자열로 데이터 파일에 대량 복사됩니다.
중요
bcp 를 사용하여 smalldatetime필드로 데이터를 가져올 때 초 값이 00.000인지 확인하세요. 그렇지 않으면 작업이 실패합니다. smalldatetime 데이터 형식은 가장 근접한 분 값만 갖습니다. 이 경우 BULK INSERT 및 INSERT ... SELECT * FROM OPENROWSET(BULK...)는 이 경우 실패하지 않지만 초 값이 잘립니다.
관련 작업
대량 가져오기 또는 대량 내보내기를 위한 데이터 형식을 사용하려면
참고 항목
bcp 유틸리티
BULK INSERT(Transact-SQL)
OPENROWSET(Transact-SQL)
데이터 형식(Transact-SQL)
SQL Server 데이터베이스 엔진의 이전 버전과의 호환성
CAST 및 CONVERT(Transact-SQL)