bcp를 사용하여 데이터 파일에 접두사 길이 지정(SQL Server)

네이티브 형식의 데이터를 데이터 파일로 대량 내보내는 작업에서 가장 압축된 형식으로 파일을 저장하려면 각 필드에 필드 길이를 나타내는 하나 이상의 문자와 함께 bcp 명령을 사용합니다. 이러한 문자를 길이 접두사 문자라고 합니다.

bcp 프롬프트에서 접두사 길이 지정

대화형 bcp 명령에 in 또는 out 옵션이 포함된 경우 서식 파일 스위치(-f) 또는 데이터 형식 스위치(-n, -c, -w 또는 -N)가 없으면 각 데이터 필드의 접두사 길이를 다음과 같이 입력해야 합니다.

Enter prefix length of field <field_name> [<default>]:

0을 지정하면 bcp는 필드의 길이(문자 데이터 형식인 경우)나 필드 종결자(네이티브 비문자 형식인 경우)를 묻는 메시지를 표시합니다.

[!참고]

bcp 명령의 모든 필드를 대화형으로 지정하면 명령에서 비 XML 서식 파일의 각 필드에 대한 응답을 저장하라는 메시지를 표시합니다. 비 XML 서식 파일에 대한 자세한 내용은 비 XML 서식 파일(SQL Server)를 참조하십시오.

접두사 길이 개요

필드의 접두사 길이를 저장하려면 필드의 최대 길이를 나타낼 수 있도록 충분한 바이트가 필요합니다. 또한 필요한 바이트의 수는 파일 저장 유형, 열의 Null 허용 여부 및 데이터 파일에 저장된 데이터가 네이티브 형식인지 문자 형식인지 여부에 따라 달라집니다. 예를 들어 text 또는 image 데이터 형식은 4개의 접두사 문자가 필요한 반면 varchar 데이터 형식은 2개의 접두사 문자로 필드의 길이를 저장할 수 있습니다. 데이터 파일에서 이러한 길이 접두사 문자는 SQL Server의 내부 이진 데이터 형식으로 저장됩니다.

중요 정보중요

네이티브 형식을 사용할 때는 필드 종결자 대신 길이 접두사를 사용하십시오. 네이티브 형식 데이터 파일은 SQL Server 내부 이진 데이터 형식에 저장되므로 종결자와 충돌할 수 있습니다.

대량 내보내기의 접두사 길이

[!참고]

필드를 내보낼 때 접두사 길이 프롬프트에 제공되는 기본값은 해당 필드에 가장 효과적인 접두사 길이를 나타냅니다.

Null 값이 빈 필드로 나타납니다. 필드가 비어 있음(NULL)을 나타내기 위해 필드 접두사에 -1을 포함하므로 최소 1바이트가 필요합니다. SQL Server 테이블 열에서 Null 값을 허용하는 경우 해당 열은 파일 저장 유형에 따라 1이상의 접두사 길이가 필요합니다.

대량 내보내기한 데이터를 네이티브 데이터 형식이나 문자 형식으로 저장하는 경우 다음 표에서 설명하는 접두사 길이를 사용하십시오.

SQL Server

데이터 형식

네이티브 형식

NOT NULL

네이티브 형식

NULL

문자 형식

NOT NULL

문자 형식

NULL

char

2

2

2

2

varchar

2

2

2

2

nchar

2

2

2

2

nvarchar

2

2

2

2

text1

4

4

4

4

ntext1

4

4

4

4

binary

2

2

2

2

varbinary

2

2

2

2

image1

4

4

4

4

datetime

0

1

0

1

smalldatetime

0

1

0

1

decimal

1

1

1

1

numeric

1

1

1

1

float

0

1

0

1

real

0

1

0

1

int

0

1

0

1

bigint

0

1

0

1

smallint

0

1

0

1

tinyint

0

1

0

1

money

0

1

0

1

smallmoney

0

1

0

1

bit

0

1

0

1

uniqueidentifier

1

1

0

1

timestamp

1

1

1

1

varchar(max)

8

8

8

8

varbinary(max)

8

8

8

8

UDT(사용자 정의 데이터 형식)

8

8

8

8

XML

8

8

8

8

1 ntext, text 및 image 데이터 형식은 이후 버전의 SQL Server에서 제거될 예정입니다. 향후 개발 작업에서는 이 데이터 형식을 사용하지 않도록 하고 현재 이 데이터 형식을 사용하는 응용 프로그램은 수정하십시오. 대신 nvarchar(max), varchar(max) 및varbinary(max)를 사용합니다.

대량 가져오기의 접두사 길이

데이터를 대량 가져올 때 접두사 길이는 해당 데이터 파일이 원래 작성될 때 지정된 값입니다. bcp 명령으로 만든 데이터 파일이 아닌 경우 길이 접두사 문자가 없을 수 있습니다. 이 경우에는 접두사 길이에 0을 지정합니다.

[!참고]

bcp를 사용하여 만들지 않은 데이터 파일에 접두사 길이를 지정하려면 이 항목의 앞부분에 나오는 대량 내보내기의 접두사 길이에 제공되어 있는 길이를 사용하십시오.

참고 항목

참조

bcp 유틸리티

데이터 형식(Transact-SQL)

개념

bcp를 사용하여 필드 길이 지정(SQL Server)

필드 및 행 종결자 지정(SQL Server)

bcp를 사용하여 파일 저장 유형 지정(SQL Server)