システム情報スキーマ ビュー (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

情報スキーマ ビューは、メタデータを取得するために提供SQL Serverいくつかの方法の 1 つです。 情報スキーマ ビューは、SQL Serverメタデータのシステム テーブルに依存しない内部ビューを提供します。 基になるシステム テーブルに大きな変更が加えられても、情報スキーマ ビューによって、アプリケーションは正しく動作できます。 SQL Serverに含まれる情報スキーマ ビューは、INFORMATION_SCHEMAの ISO 標準定義に準拠しています。

重要

情報スキーマ ビューに対しては、旧バージョンとの互換性を維持できない変更がいくつか加えられています。 これらの変更については、特定のビューのトピックで説明されています。

SQL Serverでは、現在のサーバーを参照するときに、3 部構成の名前付け規則がサポートされます。 ISO 標準も、3 つの要素で構成される名前付け規則をサポートします。 しかし、両方の名前付け規則で使用される名前は同じではありません。 情報スキーマ ビューは、INFORMATION_SCHEMA という特殊スキーマで定義されます。 このスキーマは、各データベースに含まれます。 各情報スキーマ ビューには、その特定のデータベースに格納されているすべてのデータ オブジェクトのメタデータが含まれています。 次の表は、SQL Server名と SQL 標準名の関係を示しています。

SQL Server 名 この同等の SQL 標準名にマップされます
データベース Catalog
スキーマ スキーマ
Object Object
ユーザー定義データ型 Domain

この名前マッピング規則は、次の iso 互換ビュー SQL Server適用されます。

また、いくつかのビューは、文字データやバイナリ データなど、別のクラスのデータへの参照を含んでいます。

情報スキーマ ビューを参照する場合は、INFORMATION_SCHEMA スキーマ名を含む修飾名を使用する必要があります。 次に例を示します。

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM AdventureWorks2022.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';

アクセス許可

情報スキーマ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。

Note

情報スキーマ ビューはサーバー全体で定義されているため、ユーザー データベースのコンテキスト内では拒否できません。 REVOKE または DENY アクセス (SELECT) を行うには、マスター データベースを使用する必要があります。 既定では、パブリック ロールにはすべての情報スキーマ ビューに対する SELECT アクセス許可がありますが、コンテンツはメタデータの表示規則によって制限されます。

参照