저장된 XML 스키마 컬렉션 보기View a Stored XML Schema Collection

CREATE XML SCHEMA COLLECTION을 사용하여 XML 스키마 컬렉션을 가져오면 스키마 구성 요소가 메타데이터에 저장됩니다.After you import an XML schema collection by using CREATE XML SCHEMA COLLECTION, the schema components are stored in the metadata. xml_schema_namespace내장 함수를 사용하여 XML 스키마 컬렉션을 다시 만들 수 있습니다.You can use the xml_schema_namespaceintrinsic function to reconstruct the XML schema collection. 이 함수는 xml 데이터 형식을 반환합니다.This function returns an xml data type instance.

예를 들어 다음 쿼리는ProductDescriptionSchemaCollection데이터베이스의 프로덕션 관계형 스키마에서 XML 스키마 컬렉션( AdventureWorks2012AdventureWorks2012 )을 검색합니다.For example, the following query retrieves an XML schema collection (ProductDescriptionSchemaCollection) from the production relational schema in the AdventureWorks2012AdventureWorks2012 database.

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection')  
GO  

XML 스키마 컬렉션에서 한 개의 스키마만 표시하려면 가 반환하는 xml xml_schema_namespace유형 결과에 대해 XQuery를 지정할 수 있습니다.If you want to see only one schema from the XML schema collection, you can specify XQuery against the xml type result that is returned by xml_schema_namespace.

SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('  
/xs:schema[@targetNamespace="TargetNameSpace"]  
')  
GO  

예를 들어 다음 쿼리는 ProductDescriptionSchemaCollection XML 스키마 컬렉션에서 제품 보증 및 유지 관리 XML 스키마 정보를 검색합니다.For example, the following query retrieves product warranty and maintenance XML schema information from the ProductDescriptionSchemaCollection XML schema collection.

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('  
/xs:schema[@targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]  
')  
GO  

또한 선택적인 대상 네임스페이스를 세 번째 매개 변수로 xml_schema_namespace 함수에 전달하여 다음 쿼리처럼 컬렉션에서 특정 스키마를 검색할 수 있습니다.You can also pass the optional target namespace as the third parameter to the xml_schema_namespace function to retrieve specific schema from the collection, as shown in the following query:

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain')  
GO  

데이터베이스에 CREATE XML SCHEMA COLLECTION을 사용하여 XML 스키마 컬렉션을 만들면 스키마 구성 요소가 메타데이터에 저장됩니다.When you create an XML schema collection by using CREATE XML SCHEMA COLLECTION in the database, the statement stores the schema components in the metadata. SQL ServerSQL Server 가 인식하는 스키마 구성 요소만 저장됩니다.Note that only the schema components that SQL ServerSQL Server understands are stored. 설명, 주석 또는 비-XSD 특성은 저장되지 않습니다.Any comments, annotations, or non-XSD attributes are not stored. 따라서 xml_schema_namespace 가 다시 만든 스키마는 원래 스키마와 동일한 기능을 하지만 모양이 반드시 같을 필요는 없습니다.Therefore, the schema reconstructed by xml_schema_namespace is functionally equivalent to the original schema, but it will not necessarily look the same. 예를 들어 원래 스키마에 있던 동일한 접두사가 표시되지 않습니다.For example, you will not see the same prefixes you had in the original schema. xml_schema_namespace 에서 반환된 스키마는 t 를 대상 네임스페이스에 대한 접두사로 사용하고 ns1, ns2등을 다른 네임스페이스에 대한 접두사로 사용합니다.The schema returned by xml_schema_namespace uses t as the prefix for the target namespace and ns1, ns2, and so on, for other namespaces.

XML 스키마의 동일한 복사본을 보존하려면 XML 스키마를 파일에 저장하거나 xml 유형 열에 있는 데이터베이스 테이블에 저장해야 합니다.If you want to retain an identical copy of the XML schemas, you should save your XML schema in a file or in a database table in an xml type column.

또한 sys.xml_schema_collections 카탈로그 뷰는 XML 스키마 컬렉션에 대한 정보를 반환합니다.The sys.xml_schema_collections catalog view also returns information about XML schema collections. 이 정보에는 컬렉션의 이름, 만든 날짜, 컬렉션의 소유자 등이 포함됩니다.This information includes the name of the collection, the creation date, and the owner of the collection.

참고 항목See Also

XML 스키마 컬렉션(SQL Server)XML Schema Collections (SQL Server)