다음을 통해 공유


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

CREATE XML SCHEMA COLLECTION을 사용하여 XML 스키마 컬렉션을 가져온 후에는 스키마 구성 요소가 메타데이터에 저장됩니다. xml_schema_namespace내장 함수를 사용하여 XML 스키마 컬렉션을 다시 구성할 수 있습니다. 이 함수는 데이터 형식 인스턴스를 xml 반환합니다.

예를 들어 다음 쿼리는 AdventureWorks2012 데이터베이스의 프로덕션 관계형 스키마에서 XML 스키마 컬렉션(ProductDescriptionSchemaCollection)을 검색합니다.

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 스키마 컬렉션에 대한 정보를 반환합니다. 이 정보에는 컬렉션의 이름, 만든 날짜, 컬렉션의 소유자 등이 포함됩니다.

또한 참조하십시오

XML 스키마 컬렉션 [SQL Server]