데이터 형식 및 복제

Microsoft SQL Server 2005 Compact Edition(SQL Server Compact Edition)에서는 SQL Server 데이터 형식 중 일부를 지원하지 않습니다. SQL Server 게시의 구독자인 SQL Server Compact Edition 에서는 지원되지 않는 유형을 지원되는 유형으로 변환해야 합니다.

지원되는 데이터 형식 및 데이터 형식 매핑

다음 표에서는 SQL Server 와 Microsoft SQL Server Compact Edition 간 복제를 진행할 때 수행되는 데이터 형식 매핑을 보여 주고 각 SQL Server 데이터 형식에 대한 매핑을 나열하며 제한 사항 또는 특수 동작에 대해 설명합니다.

SQL Server Mobile 데이터 형식 SQL Server Compact Edition 데이터 형식

bigint

bigint

binary(n)

binary(n)

bit

bit

character(n)(동의어: char(n))

national character(n) 또는 ntext

데이터 길이가 4000자 이하일 경우 SQL Server Compact Edition 복제는 SQL Server character 데이터를 SQL Server Compact Edition national character로 매핑하고 4000자를 초과할 경우에는 character 데이터를 SQL Server Compact Edition ntext로 매핑합니다. ntext 데이터 길이가 character 열 길이를 초과할 경우 SQL Server Compact Edition 에서 SQL Server 로 데이터를 전송하면 동기화가 실패합니다.

character varying(n)(동의어: varchar(n))

national character varying 또는 ntext

데이터 길이가 4000자 이하일 경우 SQL Server Compact Edition 복제는 SQL Server character varying 데이터를 SQL Server Compact Edition national character varying으로 매핑하고 4000자를 초과할 경우에는 character varying 데이터를 SQL Server Compact Edition ntext로 매핑합니다. ntext 데이터 길이가 character varying 열 길이를 초과할 경우 SQL Server Compact Edition 에서 SQL Server 로 데이터를 전송하면 동기화가 실패합니다.

character varying(MAX)(동의어: varchar(MAX))

ntext

character varying(MAX) 데이터 길이가 ntext 열 길이를 초과할 경우 SQL Server 에서 SQL Server Compact Edition 로 데이터를 전송하면 동기화가 실패합니다.

Computed Columns

지원되지 않습니다.

게시 마법사를 사용할 경우 SQL Server Compact Edition 구독을 사용하도록 지정하면 Computed Column 데이터 형식의 모든 열이 게시에서 열 분할됩니다. 마법사를 사용하지 않을 경우에는 게시에서 이러한 데이터 형식의 열을 제외해야 합니다.

datetime

datetime

decimal

지원되지 않습니다. numeric을 사용하십시오.

double precision

double precision

float

float

image

image

integer(동의어: int)

integer

money

money

national character(n)(동의어: nchar(n))

national character(n)

national character varying(n)(동의어: nvarchar(n))

national character varying(n)

national character varying(MAX)(동의어: nvarchar(MAX))

ntext

national character varying(MAX) 데이터 길이가 ntext 열 길이를 초과할 경우 SQL Server 에서 SQL Server Compact Edition 로 데이터를 전송하면 동기화가 실패합니다.

ntext

ntext

numeric(동의어: decimal, dec)

numeric

real

real

smalldatetime

datetime

datetime 데이터 자릿수가 smalldatetime 열 자릿수를 초과할 경우 SQL Server Compact Edition 에서 SQL Server 로 데이터를 전송하면 동기화가 실패합니다.

smallint (int 2)

smallint (int 2)

smallmoney

money

money 데이터 자릿수가 smallmoney 열 자릿수를 초과할 경우 SQL Server Compact Edition 에서 SQL Server 로 데이터를 전송하면 동기화가 실패합니다.

sql_variant

ntext

sql_variant 열에 이진 데이터가 있는 경우 이진 데이터의 바이트는 짝수여야 합니다. 그렇지 않으면 변환 오류가 발생합니다.

text

ntext

text 데이터 길이가 1,073,741,823자를 초과할 경우 SQL Server 에서 SQL Server Compact Edition 로 데이터를 전송하면 동기화가 실패합니다.

timestamp

지원되지 않습니다.

게시 마법사를 사용할 경우 SQL Server Compact Edition 구독을 사용하도록 지정하면 timestamp 데이터 형식의 모든 열이 게시에서 열 분할됩니다. 마법사를 사용하지 않을 경우에는 게시에서 이러한 데이터 형식의 열을 제외해야 합니다.

tinyint

tinyint

uniqueidentifier

uniqueidentifier

varbinary(n)

varbinary(n)

varbinary(MAX)

image

varbinary(MAX) 데이터 길이가 image 열 길이를 초과할 경우 SQL Server 에서 SQL Server Compact Edition 로 데이터를 전송하면 동기화가 실패합니다.

varchar

character varying 참조

XML

ntext

복제에서 데이터 매핑을 수행할 필요가 없도록 가능하면 SQL Server 와 SQL Server Compact Edition 모두에서 지원하는 데이터 형식을 선택하십시오. 그렇지 않으면 응용 프로그램에서 SQL Server Compact Edition 데이터베이스에 저장된 값의 유효성을 검사하여 복제에서 SQL Server 와 SQL Server Compact Edition 간에 해당 값을 매핑할 수 있는지 확인해야 합니다.

SQL Server 데이터 형식에 대한 자세한 내용은 SQL Server 온라인 설명서의 "데이터 형식"을 참조하십시오.

데이터 형식 제한

다음 제한 사항은 SQL Server Compact Edition 구독자에 적용됩니다.

  • 인덱스
    varchar (MAX), nvarchar(MAX), varbinary(MAX) 및 XML 열에 인덱스가 있는 테이블은 게시할 수 없습니다. 이러한 열 형식은 ntext 또는 image로 매핑되지만 ntext 또는 image 열에는 기본 키를 만들 수 없으므로 SQL Server Compact Edition 구독 생성이 실패합니다.
  • ID 열
    SQL Server Compact Edition ID 열의 데이터 형식은 integer(int 4) 또는 bigint(int 8)여야 합니다. SQL Server Compact Edition ID 열의 데이터 형식은 smallint, tinyint, decimal 또는 numeric이 될 수 없습니다. integer(int 4) 또는 bigint(int8)가 아닌 ID 열이 있는 게시를 구독하면 SQL Server Compact Edition 에서 해당 구독 생성이 실패합니다.
    SQL Server Compact Edition 에서는 ALTER TABLEtable_nameALTER COLUMNcolumn_nameIDENTITY(seed,increment) 문을 사용하여 구독자에서 초기값과 증가값을 수정할 수 있습니다. 따라서 ID 범위를 직접 관리할 수 있습니다. 그러나 게시에 ID 열이 포함되어 있고 게시자가 ID 범위를 관리하는 경우에는 구독자에서 초기값이나 증가값을 수정하면 안 됩니다. 할당된 범위 ID보다 큰 초기값을 지정하면 테이블에 새 레코드를 삽입하려고 할 때 SQL Server Compact Edition 에서 오류를 반환합니다. 다음에 동기화할 때 게시자는 구독자에 새 ID 범위를 할당하여 이 문제를 해결합니다.
  • 지원되지 않는 데이터 형식
    SQL Server 2000 게시를 구독할 때는 computed columntimestamp 데이터 형식이 지원되지 않습니다. 또한 SQL Server 2005 게시를 구독할 때는 computed column, timestamp, date, timeutcdatetime 데이터 형식이 지원되지 않습니다.
  • SQL Server 및 SQL Server Compact Edition 의 CHAR 및 NTEXT 데이터 형식
    SQL Server 에서는 CHAR 데이터 형식이 SQL Server Compact Edition 에 대한 CHAR 데이터 형식보다 클 수 있습니다. 내용 복제를 위해 큰 CHAR 데이터 형식은 SQL Server Compact Edition 에서 NTEXT 데이터 형식으로 변환됩니다. SQL Server 와 SQL Server Compact Edition 에서 CHAR 열의 데이터 형식은 변경할 수 있지만 NTEXT 열의 데이터 형식은 변경할 수 없습니다. . 따라서 SQL Server 측에서는 큰 CHAR 데이터 형식을 변경할 수 있지만 SQL Server Compact Edition 측에서는 더 이상 CHAR 데이터 형식이 아니므로 변경이 실패합니다.
  • NTEXT 또는 IMAGE 데이터 형식
    열이 ntext로 매핑되어 있는 상태에서 SQL Server 가 같은 열에 대한 데이터 형식을 char, nchar 등으로 변경하면 SQL Server Compact Edition 데이터베이스의 열은 구독자가 다시 초기화될 때까지 ntext로 유지됩니다.

참고 항목

개념

데이터 형식과 RDA

관련 자료

데이터 형식 매핑(SQL Server Compact Edition)

도움말 및 정보

SQL Server Compact Edition 지원 정보 보기