SQL Server での XML の実装

xml データ型を使用すると、XML ドキュメントやそのフラグメントを SQL Server データベースに保存できます。XML フラグメントとは、単一の最上位要素を欠いた XML インスタンスです。XML インスタンスは xml 型の列および変数を作成して、そこに保存できます。

必要に応じて、xml データ型の列、パラメータ、または変数に XML スキーマ コレクションを関連付けることができます。コレクション内のスキーマは、XML インスタンスの検証および型指定に使用されます。スキーマが使用されている場合、XML は型指定されているといいます。

xml データ型および関連するメソッドが実装されていることで、SQL Server のリレーショナル データベース フレームワークに XML を統合できます。詳細については、「xml データ型のメソッド」を参照してください。

xml データ型の制限事項

xml データ型には、次の一般的な制限事項が適用されます。

  • 保存する xml データ型のインスタンスは 2 GB 以内である必要があります。

  • sql_variant インスタンスのサブタイプとしては使用できません。

  • text または ntext にキャストしたり、変換することはできません。代わりに、varchar(max) タグまたは nvarchar(max) タグを使用してください。

  • 比較や並べ替えはできません。したがって、xml データ型は GROUP BY ステートメント内では使用できません。

  • ISNULL、COALESCE、および DATALENGTH を除く組み込みのスカラ関数のパラメータとしては使用できません。

  • インデックスのキー列としては使用できません。ただし、クラスタ化インデックスのデータとして使用したり、非クラスタ化インデックスの作成時に INCLUDE キーワードを使用して明示的に非クラスタ化インデックスに追加することはできます。

xml データ型のより具体的な制限事項については、このセクションのトピックを参照してください。

このセクションの内容

トピック

内容

XML データ型の変数と列

xml データ型の変数と列の作成、変更、および使用方法について説明します。

型指定された XML と型指定されていない XML の比較

型指定されている XML と型指定されていない XML を定義します。XML スキーマの概要と、XML スキーマ コレクションを登録する方法について説明します。

XML インスタンスの生成

XML インスタンスを生成するさまざまな方法について説明します。

xml データ型のメソッド

xml データ型のメソッドについて説明します。

オプションの設定 (XML データ型)

xml データ型の列や変数のクエリを行うときに設定する必要があるオプションについて説明します。

WITH XMLNAMESPACES を使用した名前空間の追加

WITH XMLNAMESPACES 句を使用して名前空間を追加する方法について説明します。

XML DML (XML データ変更言語)

XML データ変更言語とその 3 つのキーワードについて説明します。

XML データ型の列のインデックス

プライマリ XML インデックスとセカンダリ XML インデックスを作成、変更、および使用する方法について説明します。

XML データのシリアル化

XML データをシリアル化する方法と XML 文字のエンティティ変換について説明します。

アプリケーションでの XML データ型の使用

アプリケーションで xml データ型を操作する際のオプションについて説明します。

AdventureWorks データベースの xml データ型表現

AdventureWorks データベースでの xml 型の列について説明します。