(初投稿です。至らない点あったら教えてください・・・。)
新しい会社に入社した時、
新しいDBを触る時、
テーブル/カラムの多さに驚き、
絶望することがあると思います。(私はありました)
そんな時に少しだけ活躍するSQL Server用のスクリプトがこちら
DBinfoScript
select
sys.tables.name as table_name,
sys.columns.name as column_name,
sys.extended_properties.value as properties,
sys.types.name as typename,
sys.columns.max_length as max_length
from
sys.tables
left outer join sys.columns on sys.tables.object_id = sys.columns.object_id
left outer join sys.extended_properties on sys.columns.column_id = sys.extended_properties.minor_id and sys.tables.object_id = sys.extended_properties.major_id
inner join sys.types on sys.columns.system_type_id = sys.types.system_type_id and sys.columns.system_type_id = sys.types.user_type_id
where
sys.tables.name like '%%'
and
sys.columns.name like '%%'
and
(
convert(nvarchar,sys.extended_properties.value) like '%%'
or
convert(nvarchar,sys.extended_properties.value) is null
)
order by sys.tables.name,sys.columns.column_id
表示項目
①テーブル名称
②カラム名称
③カラムの拡張プロパティ
④カラムのデータ型
⑤カラムの最大値(長)
使用sysテーブル
- sys.tables
- テーブルに関する情報
- sys.columns
- カラムに関する情報
- sys.extended_properties
- 拡張プロパティに関する情報
- sys.types
- データ型に関する情報
検索条件
①テーブル名
②カラム名
③拡張プロパティ内容
並び順
①テーブル名
②カラム名
拡張プロパティは設定しない場合nullになるので、
nullのカラムが消えないようにしています。
また、曖昧検索ができるようにconvertしています。
もしも使える場があれば使って下さるとありがたい・・・。