2016年05月24日

MS SQL Server でテーブル情報取得する SQL とか

会社に MS SQL Server がある。

で、普通なら、純正ツールである SQL Server Management Studio を使って 色々操作する。 その方が補完も聞くとか GUI で操作できるとかあるからね。

でも、僕は Mac を使っている。 Mac には SQL Server Management Studio なんてないし Remote Desktop で接続してそれを起動して、ということになる。

で、Mac の Remote Desktop クライアントって Mac側にキーが足りないこともあって結構あれだし、 できれば入りたくない。

というわけで FreeTDS + unixODBC とか使って MS SQL Server に入ってもにゃもにゃすることがたまにある。

そうすると GUI でテーブルスキーマ見るとかできない。つらい。 でも SQL を叩いて情報を取得することは可能。

というわけで調べてまとめておいたメモを晒しておく。

ストアド一覧取得

http://lightgauge.net/database/sqlserver/842/

SELECT specific_name FROM information_schema.routines ORDER BY specific_name

ストアド内容取得

データベース一覧取得

http://itmemo.net-luck.com/sqlserver-database-list/

SELECT NAME, DATABASE_ID, CREATE_DATE FROM SYS.DATABASES ORDER BY NAME;

テーブル一覧取得

http://samuraism.jp/diary/2007/05/11/1178863089965.html

select name from sysobjects where xtype = 'U' order by name;

テーブルスキーマ取得

exec sp_columns TABLE_NAME;

ビュー一覧取得

definition あたり取れるやつと取れないやつがあるから何か違うんだろうなと思ったりするけど 無いよりはまし?

SELECT v.name, m.definition FROM sys.views v INNER JOIN sys.sql_modules m ON m.object_id = v.object_id;

とか

select table_name, view_definition from information_schema.views order by table_name;

最後に

がっつり触るなら Management Studio から触る方が幸せになれるはず。 というか MS SQL Server を触るなら Windows にしとこう。ね。

posted by 麦汁 at 22:35 | Comment(0) | TrackBack(0) | SQL | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/438233634
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック