SQL Serverではテーブルやカラムに説明を付けることができます。
設定方法
テーブル
① [オブジェクトエクスプローラー] → 対象のテーブルを選択して[右クリック] → [プロパティ] → [拡張プロパティ]
② [名前]にMS_Description、[値]に付けたい説明を入力。
カラム
① [オブジェクトエクスプローラー] → 対象のテーブルを選択して[右クリック] → [デザイナ] → 対象のカラムを選択
② [列のプロパティ]の下のほうにある[説明]の項目に付けたい説明を入力。
※上記方法以外にもオブジェクトエクスプローラーの列フォルダ内からプロパティで設定することも出来ます。そのときはテーブルの設定方法と同じです。
取得方法
--テーブルの説明
SELECT
t.name AS 'TableName',
ep.value AS 'PropertyValue'
FROM
sys.tables t
INNER JOIN
sys.extended_properties ep
ON
ep.major_id = t.object_id
AND
ep.minor_id = 0
WHERE
ep.name LIKE 'MS_Description'
--カラムの説明
SELECT
t.name AS 'TableName',
c.name AS 'ColumnName',
ep.name AS 'PropertyName',
ep.value AS 'PropertyValue'
FROM
sys.tables t
INNER JOIN
sys.columns c
ON
c.object_id = t.object_id
INNER JOIN
sys.extended_properties ep
ON
ep.major_id = c.object_id
AND
ep.minor_id = c.column_id
WHERE
ep.name LIKE 'MS_Description'
補足
この説明というプロパティ、どうもSQL Serverの拡張プロパティの機能の一部らしく、説明以外にも色々なプロパティを設定することができます。
(独自の項目を設定することも可能な模様。)
他の拡張プロパティを取得するときは、上記のSQLのWHERE句を消せば他のプロパティを取得することが出来ます。