서버의 XML 스키마 컬렉션에 대한 요구 사항 및 제한 사항
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
XSD(XML 스키마 정의 언어) 유효성 검사에는 xml 데이터 형식을 사용하는 SQL 열에 대한 몇 가지 제한 사항이 있습니다. 다음 테이블에서는 SQL Server에서 작동할 수 있도록 XSD 스키마를 수정하기 위한 제한 사항과 지침에 대한 세부 정보를 설명합니다. 이 섹션의 문서에서는 특정 제한 사항 및 작업 지침에 대한 추가적인 정보를 제공합니다.
Item | 제한 사항 |
---|---|
minOccurs 및 maxOccurs | minOccurs 및 maxOccurs 특성의 값은 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:time 및 xs:dateTime 이외의 두 번째 구성 요소가 있고 xs:time 및 xs:dateTime의 경우 100나노초 정밀도가 있는 단순 형식에 대해서만 밀리초 정밀도를 지원합니다. SQL Server에서는 인식된 모든 XSD 단순 유형 열거를 제한합니다. SQL Server에서는 <xsd:simpleType> 선언에서 "NaN" 값을 사용하도록 지원하지 않습니다. 자세한 내용은 <xsd:simpleType> 선언에 대한 값을 참조하세요. |
xsi:schemaLocation 및 xsi: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, minLength및 maxLength 패싯은 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에서는 혼합 형식을 단순 내용으로 제한할 수 없습니다. 자세한 내용은 혼합 형식 및 단순 내용을 참조하세요. |
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:time 및 xs: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)를 사용하여 나타냅니다. |
다음 단계
정규 형식 및 패턴 제한 사항
정규 형식 및 패턴 제한 사항을 설명합니다.와일드카드 구성 요소 및 콘텐츠 유효성 검사
XML 스키마 컬렉션에서 와일드카드 문자, lax 유효성 검사 및 anyType 요소를 사용하는 제한 사항에 대해 설명합니다.<xsd:redefine> 요소
<xsd:redefine> 요소 사용에 대한 제한 사항과 해결 방법을 설명합니다.The xs:QName Type
xs:QName
유형에 대한 제한 사항을 설명합니다.<xsd:simpleType> 선언의 값은
<xsd:simpleType>
선언에 적용되는 제한 사항을 설명합니다.열거 패싯
열거 패싯에 대한 제한 사항을 설명합니다.혼합 형식 및 단순 콘텐츠는 혼합 형식을 단순 콘텐츠로 제한하는 제한 사항에 대해 설명합니다.
대형 XML 스키마 컬렉션 및 메모리 부족 조건
대형 스키마 컬렉션에서 발생하는 메모리 부족 조건에 대한 솔루션을 제공합니다.비결정적 콘텐츠 모델은 비결정적 콘텐츠 모델에 대한 제한 사항을 설명합니다.