bcp를 사용하여 파일 저장 유형 지정
파일 저장 유형은 데이터가 데이터 파일에 저장되는 방식을 나타냅니다. 데이터를 데이터베이스 테이블 형식(네이티브 형식), 문자 표시(문자 형식) 또는 암시적 변환을 지원하는 모든 데이터 형식의 데이터 파일로 내보낼 수 있습니다. 예를 들어 smallint를 int로 복사할 수 있습니다. 사용자 정의 데이터 형식은 기본 형식으로 내보내집니다.
[!참고]
데이터 변환에 대한 자세한 내용은 데이터 형식 변환(데이터베이스 엔진)을 참조하십시오.
파일 저장 유형에 대한 bcp 프롬프트
대화형 bcp 명령에 서식 파일 스위치(-f)나 데이터 형식 스위치(-n, -c, -w 또는 -N) 없이 in 또는 out 옵션이 들어 있을 경우 각 데이터 필드의 파일 저장 유형에 대한 명령 프롬프트는 다음과 같습니다.
Enter the file storage type of field <field_name> [<default>]:
이 프롬프트에 대한 사용자 응답은 수행하는 태스크에 따라 다음과 같이 달라집니다.
MicrosoftSQL Server 인스턴스의 데이터를 가장 많이 압축된 저장 유형(네이티브 데이터 형식)의 데이터 파일로 대량으로 내보내려면_ bcp에서 제공되는 기본 파일 저장 유형을 적용합니다. 네이티브 파일 저장 유형 목록은 이 항목 뒷부분에 있는 "네이티브 파일 저장 유형"을 참조하십시오.
SQL Server 인스턴스에서 데이터를 문자 형식으로 데이터 파일에 대량으로 내보내려면 char를 테이블의 모든 열에 대한 파일 저장 유형으로 지정합니다.
데이터 파일에서 SQL Server의 인스턴스로 데이터를 대량으로 가져오려면 문자 형식으로 저장된 유형에 대해 char를 파일 저장 유형으로 지정하고 네이티브 데이터 형식으로 저장된 데이터의 경우 적절한 파일 저장 유형을 지정합니다.
파일 저장 유형
명령 프롬프트에 입력할 내용
char1
c[har]
varchar
c[har]
nchar
w
nvarchar
w
text2
T[ext]
ntext2
W
binary
x
varbinary
x
image2
I[mage]
datetime
d[ate]
smalldatetime
D
time
te
date
de
datetime2
d2
datetimeoffset
do
decimal
n
numeric
n
float
f[loat]
real
r
Int
i[nt]
bigint
B[igint]
smallint
s[mallint]
tinyint
t[inyint]
money
m[oney]
smallmoney
M
bit
b[it]
uniqueidentifier
u
sql_variant
V[ariant]
timestamp
x
UDT(사용자 정의 데이터 형식)
U
XML
X
1 - char 파일 저장 유형으로 내보낸 데이터 중 문자가 아닌 데이터에 대해 데이터 파일에 할당되는 저장 공간의 크기는 필드 길이, 접두사 길이 및 종결자의 상호 작용에 따라 결정됩니다. 자세한 내용은 문자 형식으로 데이터 저장을 참조하십시오.
2 - ntext, text 및 image 데이터 형식은 나중 버전의 SQL Server에서 제거될 예정입니다. 향후 개발 작업에서는 이 데이터 형식을 사용하지 않도록 하고 현재 이 데이터 형식을 사용하는 응용 프로그램은 수정하십시오. nvarchar(max), varchar(max) 및 varbinary(max)를 대신 사용하십시오. 자세한 내용은 큰 값 데이터 형식 사용을 참조하십시오.
네이티브 파일 저장 유형
각 네이티브 파일 저장 유형은 해당 호스트 파일 데이터 형식으로 서식 파일에 기록됩니다.
파일 저장 유형 |
호스트 파일 데이터 형식 |
---|---|
char1 |
SQLCHAR |
varchar |
SQLCHAR |
nchar |
SQLNCHAR |
nvarchar |
SQLNCHAR |
text2 |
SQLCHAR |
ntext2 |
SQLNCHAR |
binary |
SQLBINARY |
varbinary |
SQLBINARY |
image2 |
SQLBINARY |
datetime |
SQLDATETIME |
smalldatetime |
SQLDATETIM4 |
decimal |
SQLDECIMAL |
numeric |
SQLNUMERIC |
float |
SQLFLT8 |
real |
SQLFLT4 |
int |
SQLINT |
bigint |
SQLBIGINT |
smallint |
SQLSMALLINT |
tinyint |
SQLTINYINT |
money |
SQLMONEY |
smallmoney |
SQLMONEY4 |
bit |
SQLBIT |
uniqueidentifier |
SQLUNIQUEID |
sql_variant |
SQLVARIANT |
timestamp |
SQLBINARY |
UDT(사용자 정의 데이터 형식) |
SQLUDT |
1 - 문자 형식으로 저장된 데이터 파일은 char를 파일 저장 유형으로 사용합니다. 그러므로 문자 데이터 파일의 경우 SQLCHAR는 서식 파일에 나타나는 유일한 데이터 형식입니다.
2 - DEFAULT 값이 있는 text, ntext 및 image 열로 데이터를 대량으로 가져올 수 없습니다.
파일 저장 유형에 대한 추가 고려 사항
SQL Server의 인스턴스에서 데이터 파일로 데이터를 대량으로 내보내는 경우 다음을 고려하십시오.
char를 항상 파일 저장 유형으로 지정할 수 있습니다.
잘못된 암시적 변환을 나타내는 파일 저장 유형을 입력하면 bcp가 실패합니다. 예를 들어 smallint 데이터에 int를 지정할 수 있지만 smallint를 int 데이터에 지정하면 오버플로 오류가 발생합니다.
float, money, datetime 또는 int와 같이 문자가 아닌 데이터 형식이 데이터베이스 형식으로 저장되면 데이터는 SQL Server 네이티브 형식으로 데이터 파일에 기록됩니다.
[!참고]
bcp 명령의 모든 필드를 대화형으로 지정하면 명령에서 비 XML 서식 파일의 각 필드에 대한 응답을 저장하라는 메시지를 표시됩니다. 비 XML 형식 파일에 대한 자세한 내용은 비 XML 서식 파일 이해를 참조하십시오.