저장된 XML 스키마 컬렉션 보기

적용 대상:SQL ServerAzure SQL DatabaseAzure 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 형식 결과에 xml_schema_namespace대해 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 스키마 컬렉션에 대한 정보를 반환합니다. 이 정보에는 컬렉션의 이름, 만든 날짜, 컬렉션의 소유자 등이 포함됩니다.

참고 항목