サーバー上の XML スキーマ コレクションの管理
「xml データ型」で説明したように、SQL Server には、xml データ型を使った XML データのネイティブ ストレージが用意されています。必要に応じて、XML スキーマ コレクションを使って xml 型の変数や列と XSD スキーマを関連付けることができます。XML スキーマ コレクションにはインポートした XML スキーマが格納され、その後このコレクションを次の操作に使用します。
XML インスタンスの検証
XML データをデータベースに格納するときの型指定
XML スキーマ コレクションは、データベース内のテーブルに似たメタデータ エンティティです。XML スキーマ コレクションは作成、変更、削除できます。CREATE XML SCHEMA COLLECTION (Transact-SQL) ステートメントで指定されたスキーマが、新しく作成される XML スキーマ コレクション オブジェクトに自動的にインポートされます。ALTER XML SCHEMA COLLECTION (Transact-SQL) ステートメントを使用して、追加のスキーマやスキーマ コンポーネントをデータベース内の既存のコレクション オブジェクトにインポートできます。
「型指定された XML と型指定されていない XML」で説明したように、スキーマが関連付けられる列や変数に格納されている XML を、型指定された XML と呼びます。これは、インスタンス データに必要なデータ型情報をスキーマが提供しているためです。SQL Server ではこの型情報を使用して、データ ストレージを最適化します。
クエリ処理エンジンでも、型の確認、クエリの最適化、およびデータの変更にスキーマが使用されます。
また SQL Server では、型指定された xml の場合、XML インスタンスを検証するために関連付けられた XML スキーマ コレクションが使用されます。XML インスタンスがスキーマを使ってコンパイルされると、そのデータベースはインスタンスを型情報と共にシステムに格納できます。それ以外の場合は、インスタンスを拒否します。
SQL Server には、データベース内のスキーマを管理するためのさまざまな DDL ステートメントが用意されています。ただし、XML スキーマ コレクションを使用する前にインポートする必要があります。詳細については、「データベースで XML スキーマ コレクションを管理するための DDL」を参照してください。
XML スキーマ コレクションをデータベースにインポートするには、権限が必要です。詳細については、「XML スキーマ コレクションに対する権限」を参照してください。
固有の関数 XML_SCHEMA_NAMESPACE を使用して、データベースに格納されているスキーマ コレクションを取得できます。詳細については、「格納されている XML スキーマ コレクションの表示」を参照してください。
また、XML スキーマ コレクションは、XML 変数、パラメータ、および列の型指定にも使用できます。