1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【SQL Server】DB内のテーブル、カラム、拡張プロパティの検索をする

Last updated at Posted at 2019-07-16

(初投稿です。至らない点あったら教えてください・・・。)

新しい会社に入社した時、
新しい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しています。

もしも使える場があれば使って下さるとありがたい・・・。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?