拡張プロパティの表示
データベース オブジェクトの拡張プロパティは、SQL ステートメントで fn_listextendedproperty 組み込み関数または sys.extended_properties カタログ ビューを使用することによって表示できます。また、SQL Server Management Studio オブジェクト エクスプローラを使用して拡張プロパティを表示することもできます。
fn_listextendedproperty 関数の使用
fn_listextendedproperty 関数により、オブジェクトの種類に基づいて、単一のデータベース オブジェクトまたはデータベース内のすべてのオブジェクトの拡張プロパティを表示できます。たとえば、テーブルの拡張プロパティを返すことも、テーブルのすべての列の拡張プロパティを返すこともできます。
次の例では、SELECT ステートメントで fn_listextendedproperty 関数を使用して、さまざまなオブジェクトの拡張プロパティを表示する方法について説明します。
A. データベースの拡張プロパティの表示
次の例では、データベース自体に設定されたすべての拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
次の結果セットが返されます。
objtype objname name value
--------- --------- ----------- ----------------------------
NULL NULL MS_Description AdventureWorks Sample OLTP Database
(1 row(s) affected)
B. テーブルのすべての列の拡張プロパティの表示
次の例では、スキーマ Production
に含まれている ScrapReason
テーブルの列の拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO
次の結果セットが返されます。
objtype objname name value
------- ----------- ------------- ------------------------
COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.
COLUMN Name MS_Description Failure description.
COLUMN ModifiedDate MS_Description Date the record was last updated.
(3 row(s) affected)
C. スキーマのすべてのテーブルの拡張プロパティの表示
次の例では、Sales
スキーマに含まれているすべてのテーブルの拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO
sys.extended_properties カタログ ビューの使用
sys.extended_properties カタログ ビューに対してクエリを実行することにより、拡張プロパティを表示できます。このビューでは、拡張プロパティの値を簡単に返すことができます。また、このビューを他のカタログ ビューと組み合わせて、その拡張プロパティに関連付けられたオブジェクト名やオブジェクトの種類などの追加データを返すこともできます。
次の例では、sys.extended_properties カタログ ビューを使用してさまざまなオブジェクトの拡張プロパティを表示する方法について説明します。追加のカタログ ビューでの結合により、テーブルの列名などのオブジェクト名が返されます。
A. データベースのすべての拡張プロパティの表示
次の例では、AdventureWorks サンプル データベースのすべての拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT class, class_desc, major_id, minor_id, name, value
FROM sys.extended_properties;
GO
B. データベースのすべてのインデックスの拡張プロパティの表示
次の例では、AdventureWorks サンプル データベースのインデックスのすべての拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT class, class_desc, major_id, minor_id, ep.name, s.name AS [Index Name], value
FROM sys.extended_properties AS ep
INNER JOIN sys.indexes AS s ON ep.major_id = s.object_id AND ep.minor_id = s.index_id
WHERE class = 7;
GO
C. テーブルの列の拡張プロパティの表示
次の例では、AdventureWorks サンプル データベースのすべてのテーブルのすべての列の拡張プロパティが表示されます。
USE AdventureWorks;
GO
SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column Name], value AS [Extended Property]
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE class = 1;
GO
オブジェクト エクスプローラを使用した拡張プロパティの表示
SQL Server Management Studio のオブジェクト エクスプローラを使用して、拡張プロパティを表示、追加、および削除できます。表示できるのは、選択されたオブジェクトの拡張プロパティのみです。オブジェクト エクスプローラを使用してオブジェクトの拡張プロパティを表示するには、次の手順を実行します。
- オブジェクト エクスプローラで、データベース オブジェクトを右クリックし、[プロパティ] をクリックします。
- [プロパティ] ダイアログ ボックスの [拡張プロパティ] を選択します。拡張プロパティが [プロパティ] ページに表示されます。このダイアログ ボックスでは、既存のプロパティを削除したり、新しいプロパティを追加したりできます。
参照
概念
その他の技術情報
sys.extended_properties (Transact-SQL)
オブジェクト エクスプローラの使用