서버의 XML 스키마 컬렉션에 대한 요구 사항 및 제한 사항

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

XSD(XML 스키마 정의 언어) 유효성 검사에는 xml 데이터 형식을 사용하는 SQL 열에 대한 몇 가지 제한 사항이 있습니다. 다음 테이블에서는 SQL Server에서 작동할 수 있도록 XSD 스키마를 수정하기 위한 제한 사항과 지침에 대한 세부 정보를 설명합니다. 이 섹션의 문서에서는 특정 제한 사항 및 작업 지침에 대한 추가적인 정보를 제공합니다.

Item 제한 사항
minOccursmaxOccurs minOccursmaxOccurs 특성의 값은 4 바이트 정수에 맞아야 합니다. 준수하지 않는 스키마는 서버에서 거부됩니다.
<xsd:choice> SQL Server에서는 파티클이 0의 minOccurs 특성 값으로 정의되지 않으면 하위 항목 없이 <xsd:choice> 파티클을 포함한 스키마를 거부합니다.
<xsd:include> 현재 SQL Server에서는 이 요소를 지원하지 않습니다. 이 요소를 포함하는 XML 스키마는 서버에서 거부됩니다.

이러한 문제를 해결하기 위해 <xsd:include> 지시어를 포함하고 있는 XML 스키마는 전처리하여 포함된 모든 스키마의 내용을 하나의 스키마로 복사 및 병합해서 서버에 업로드할 수 있습니다. 자세한 내용은 포함된 스키마를 병합하기 위해 스키마 전처리를 참조하세요.
<xsd:key>, <xsd:keyref><xsd:unique> 현재 SQL Server는 고유성을 적용하거나 키 및 키 참조를 설정하기 위해 이러한 XSD 기반 제약 조건을 지원하지 않습니다. 이러한 요소를 포함하는 XML 스키마는 등록할 수 없습니다.
<xsd:redefine> SQL Server에서는 이 요소를 지원하지 않습니다. 스키마를 업데이트하는 다른 방법에 대한 자세한 내용은 <xsd:redefine> 요소를 참조하세요.
<xsd:simpleType> SQL Server는 xs:timexs:dateTime 이외의 두 번째 구성 요소가 있고 xs:timexs:dateTime의 경우 100나노초 정밀도가 있는 단순 형식에 대해서만 밀리초 정밀도를 지원합니다. SQL Server에서는 인식된 모든 XSD 단순 유형 열거를 제한합니다.

SQL Server에서는 <xsd:simpleType> 선언에서 "NaN" 값을 사용하도록 지원하지 않습니다.

자세한 내용은 <xsd:simpleType> 선언에 대한 값을 참조하세요.
xsi:schemaLocationxsi:noNamespaceSchemaLocation xml 데이터 형식의 열 또는 변수에 삽입된 XML 인스턴스 데이터에 이러한 특성이 존재할 경우 SQL Server에서는 이 특성을 무시합니다.
xs:QName SQL Server에서는 XML 스키마 제한 요소를 사용하는 xs:QName 에서 파생된 형식을 지원하지 않습니다.

SQL Server에서는 멤버 요소가 xs:QName 인 공용 구조체 유형을 지원하지 않습니다.

자세한 내용은 The xs:QName Type을 참조하세요.
기존 대체 그룹에 구성원 추가 XML 스키마 컬렉션의 기존 대체 그룹에 구성원을 추가할 수 없습니다. XML 스키마의 대체 그룹은 HEAD 요소와 모든 해당 구성원 요소가 동일한 {CREATE | ALTER} XML SCHEMA COLLECTION 문에 정의되어야 한다는 점에서 제한됩니다.
정규 형식 및 패턴 제한 사항 값의 정식 표현은 해당 형식의 패턴 제한 사항을 위반할 수 없습니다. 자세한 내용은 Canonical Forms and Pattern Restrictions을 참조하세요.
열거 패싯 SQL Server에서는 패턴 패싯 형식이나 이러한 패싯을 위반하는 열거형의 XML 스키마를 지원하지 않습니다.
패싯 길이 length, minLengthmaxLength 패싯은 long 형식으로 저장됩니다. 이 형식은 32비트 형식입니다. 따라서 이러한 값에 허용되는 값의 범위는 2^31입니다.
ID 특성 각 XML 스키마 구성 요소에는 ID 특성이 있을 수 있습니다. SQL Server는 ID 형식의 <xsd:attribute> 선언에 고유성을 적용하지만 이러한 값은 저장하지 않습니다. 고유성을 적용할 범위는 {CREATE | ALTER} XML SCHEMA COLLECTION 문입니다.
ID 유형 SQL Server에서는 유형이 xs:ID, xs:IDREF또는 xs:IDREFS인 요소를 사용할 수 없습니다. 스키마는 이 형식의 요소 또는 이 형식의 제한 또는 확장에서 파생된 요소를 선언할 수 없습니다.
로컬 네임스페이스 <> 요소에 로컬 네임스페이스가 명시적으로 지정되어야 합니다. SQL Server는 빈 문자열("")을 네임스페이스 특성의 값으로 사용하는 스키마를 거부합니다. 대신 SQL Server는 정규화되지 않은 요소 또는 특성을 와일드카드 문자의 인스턴스로 나타내기 위해 "##local"을 명시적으로 사용해야 합니다.
혼합 형식 및 단순 콘텐츠 SQL Server에서는 혼합 형식을 단순 내용으로 제한할 수 없습니다. 자세한 내용은 혼합 형식 및 단순 내용을 참조하세요.
NOTATION 형식 SQL Server는 NOTATION 형식을 지원하지 않습니다.
메모리 부족 조건 대형 XML 스키마 컬렉션을 사용할 경우 메모리가 부족해질 수 있습니다. 이 문제에 대한 해결 방법은 대형 XML 스키마 컬렉션 및 메모리 부족 조건을 참조하세요.
반복된 값 SQL Server에서는 block 또는 final 특성에 "restriction restriction" 및 "extension extension" 같은 반복되는 값이 있는 스키마를 거부합니다.
스키마 구성 요소 식별자 SQL Server는 스키마 구성 요소의 식별자를 최대 1000자 길이의 유니코드 문자로 제한합니다. 또한 식별자 내의 서로게이트 문자 쌍은 지원되지 않습니다.
표준 시간대 정보 SQL Server 2008(10.0.x) 이상 버전에서는 XML 스키마 유효성 검사를 위해 xs:date, xs:timexs:dateTime 값에 대한 표준 시간대 정보가 완전히 지원됩니다. SQL Server 2005(9.x) 이전 버전과의 호환 모드에서는 표준 시간대 정보가 항상 협정 세계시(그리니치 표준시)로 일반화됩니다. dataTime 형식 요소의 경우 서버는 오프셋 값("-05:00")을 사용하고 해당 GMT 시간을 반환하여 제공되는 시간을 GMT로 변환합니다.
공용 구조체 유형 SQL Server에서는 공용 구조체 유형의 제한 사항을 지원하지 않습니다.
변수 정밀도 10진수 SQL Server는 변수 정밀도 소수 자릿수를 지원하지 않습니다. xs:decimal 형식은 임의 10진수의 전체 자릿수를 나타냅니다. 최소 준수 XML 프로세서는 최소 totalDigits=18의 10진수를 지원해야 합니다. SQL Server에서는 totalDigits=38,을 지원하지만 소수 자릿수를 10으로 제한합니다. 서버에서는 모든 xs:decimal 의 인스턴스화된 값을 내부적으로 SQL 유형 숫자(38, 10)를 사용하여 나타냅니다.

다음 단계

참고 항목