システム カタログ ビュー (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric Warehouse Microsoft Fabric SQL Database
カタログ ビューは、SQL Server データベース エンジンによって使用される情報を返します。 カタログ ビューはカタログ メタデータに対する最も一般的なインターフェイスであり、この情報のカスタマイズされた形式を取得、変換、および提示するための最も効率的な方法を提供するため、カタログ ビューを使用することをお勧めします。 ユーザーが使用できるすべてのカタログ メタデータは、カタログ ビューを介して公開されます。
注意
カタログ ビューには、レプリケーション、バックアップ、データベース メンテナンス プラン、SQL Server エージェントのカタログ データに関する情報は含まれていません。
解説
カタログ ビューの中には、他のカタログ ビューの行を継承するものもあります。 たとえば、sys.tables カタログ ビューは sys.objects カタログ ビューから継承されます。 sys.objects
カタログ ビューはベース ビューと呼ばれ、sys.tables
ビューは派生ビューと呼ばれます。 sys.tables
カタログ ビューではテーブルに固有の列のほか、sys.objects
カタログ ビューで返されるすべての列が返されます。 sys.objects
カタログ ビューでは、テーブル以外のオブジェクト (ストアド プロシージャやビューなど) の行が返されます。 テーブルが作成された後は、両方のビューでテーブルのメタデータが返されます。 これら 2 つのカタログ ビューではテーブルに関する異なるレベルの情報が返されますが、このテーブルのメタデータ内のエントリは 1 つだけで、名前と object_id
が、それぞれ 1 つだけ含まれています。 まとめると次のようになります。
- ベース ビューには列のサブセットと行のスーパーセットが含まれます。
- 派生ビューには列のスーパーセットと行のサブセットが含まれます。
重要
今後の SQL Server のリリースでは、Microsoft により、列のリストの末尾に列を追加することでシステム カタログ ビューの定義が拡張される可能性があります。 返される列の数が変わってアプリケーションが中断されるおそれがあるため、運用環境のコードで SELECT * FROM sys.<catalog_view_name>
という構文を使うことはお勧めしません。
SQL Server のカタログ ビューは、次のカテゴリに分類されています。
Always On 可用性グループ カタログ ビュー (Transact-SQL)
変更追跡カタログ ビュー - sys.change_tracking_databases
CLR アセンブリ カタログ ビュー (Transact-SQL)
データベース ミラーリング監視カタログ ビュー - sys.database_mirroring_witnesses
データベースとファイルのカタログ ビュー (Transact-SQL)
エンドポイントのカタログ ビュー (Transact-SQL)
拡張イベント カタログ ビュー (Transact-SQL)
拡張プロパティ カタログ ビュー - sys.extended_properties
FILESTREAM および FileTable のカタログ ビュー (Transact-SQL)
メッセージ (エラー用) のカタログ ビュー - sys.messages
オブジェクト カタログ ビュー (Transact-SQL)
パーティション関数のカタログ ビュー (Transact-SQL)
Resource Governor カタログ ビュー (Transact-SQL)
クエリ ストアのカタログ ビュー (Transact-SQL)
セキュリティ カタログ ビュー (Transact-SQL)
Service Broker カタログ ビュー (Transact-SQL)
サーバー全体の構成のカタログ ビュー (Transact-SQL)
Azure Synapse Analytics and Analytics Platform System (PDW) カタログ ビュー
Stretch Database カタログ ビュー - sys.remote_data_archive_databases