저장된 XML 스키마 컬렉션 보기
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
CREATE XML SCHEMA COLLECTION을 사용하여 XML 스키마 컬렉션을 가져온 후에는 스키마 구성 요소가 메타데이터에 저장됩니다. xml_schema_namespace 내장 함수를 사용하여 XML 스키마 컬렉션을 다시 구성할 수 있습니다. 이 함수는 xml 데이터 형식을 반환합니다.
예를 들어 다음 쿼리는ProductDescriptionSchemaCollection
데이터베이스의 프로덕션 관계형 스키마에서 XML 스키마 컬렉션( AdventureWorks2022
)을 검색합니다.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection');
GO
XML 스키마 컬렉션에서 스키마를 하나만 보려면 xml_schema_namespace
에서 반환하는 xml 형식 결과에 대해 XQuery를 지정할 수 있습니다.
SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('
/xs:schema[@targetNamespace="TargetNameSpace"]
');
GO
예를 들어 다음 쿼리는 XML 스키마 컬렉션에서 ProductDescriptionSchemaCollection
제품 보증 및 유지 관리 XML 스키마 정보를 검색합니다.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('
/xs:schema[@targetNamespace="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]
');
GO
다음 쿼리와 같이 선택적 대상 네임스페이스를 xml_schema_namespace
함수에 세 번째 매개 변수로 전달하여 컬렉션에서 특정 스키마를 검색할 수도 있습니다.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain');
GO
데이터베이스에서 CREATE XML SCHEMA COLLECTION을 사용하여 XML 스키마 컬렉션을 만들 때, 문은 스키마 구성 요소를 메타데이터에 저장합니다. SQL Server에서 이해하는 스키마 구성 요소만 저장됩니다. 메모, 주석 또는 XSD가 아닌 특성은 저장되지 않습니다. 따라서 xml_schema_namespace에 의해 재구성된 스키마는 원래 스키마와 기능적으로는 동일하지만 반드시 동일하게 보이지는 않습니다. 예를 들어 원래 스키마에 있던 동일한 접두사가 표시되지 않습니다. xml_schema_namespace 에서 반환된 스키마는 t 를 대상 네임스페이스에 대한 접두사로 사용하고 ns1, ns2등을 다른 네임스페이스에 대한 접두사로 사용합니다.
XML 스키마의 동일한 복사본을 보존하려면 XML 스키마를 파일에 저장하거나 xml 유형 열에 있는 데이터베이스 테이블에 저장해야 합니다.
또한 sys.xml_schema_collections 카탈로그 뷰는 XML 스키마 컬렉션에 대한 정보를 반환합니다. 이 정보에는 컬렉션의 이름, 만든 날짜, 컬렉션의 소유자 등이 포함됩니다.