カタログ ビュー (Transact-SQL)

カタログ ビューは、SQL Server データベース エンジンによって使用される情報を返します。カタログ ビューはカタログ メタデータへの最も一般的なインターフェイスであり、この情報を取得、変換、およびカスタマイズした形式で表示するための、最も効率的な方法となります。したがって、カタログ ビューを使用することをお勧めします。ユーザーが利用できるすべてのカタログ メタデータがカタログ ビューを通じて公開されています。

注意

カタログ ビューには、レプリケーション、バックアップ、データベース メンテナンス プラン、SQL Server エージェントなどのカタログ データに関する情報は含まれていません。

カタログ ビューの中には、他のカタログ ビューの行を継承するものもあります。たとえば、sys.tables カタログ ビューは sys.objects カタログ ビューから行を継承します。sys.objects カタログ ビューはベース ビューと呼ばれ、sys.tables ビューは派生ビューと呼ばれます。sys.tables カタログ ビューではテーブルに固有の列のほか、sys.objects カタログ ビューで返されるすべての列が返されます。sys.objects カタログ ビューでは、テーブル以外の、ストアド プロシージャやビューなどのオブジェクトの行が返されます。テーブルの作成後は、両方のビューでテーブルのメタデータが返されます。これら 2 つのカタログ ビューではテーブルに関する異なるレベルの情報が返されますが、このテーブルのメタデータ内のエントリは 1 つだけで、名前と object_id が、それぞれ 1 つだけ含まれています。まとめると次のようになります。

  • ベース ビューには列のサブセットと行のスーパーセットが含まれます。

  • 派生ビューには列のスーパーセットと行のサブセットが含まれます。

重要な注意事項重要

今後の Microsoft SQL Server のリリースでは、列のリストの末尾に列を追加することにより、システム カタログ ビューの定義が拡張される可能性があります。返される列の数が変化し、アプリケーションが機能しなくなる可能性があるため、製品コードでは SELECT * FROM sys.catalog_view_name という構文を使用しないことをお勧めします。

SQL Server のカタログ ビューは、次のカテゴリに分類されます。