■42664 / inTopicNo.2) |
Re[1]: 索引情報を取得したい |
□投稿者/ たくボン (266回)-(2009/10/20(Tue) 00:39:33)
|
■No42630 (スキーマを取りたい さん) に返信 > 報は INFORMATION_SCHEMA Viewで取得できる。とあります。 > テーブル一覧の取得は > select * from INFORMATION_SCHEMA.TABLES > でできます。 > http://msdn.microsoft.com/ja-jp/library/cc407988.aspx > の資料によると、索引情報は INFORMATION_SCHEMA.INDEXES でとれる。とあります。 > しかし、 SQL Server 2008 のIDEでは、INFORMATION_SCHEMA.のインテリセンスで INDEXESが表れません。 > 直接打ち込むと select * from Information_Schema.INDEXES > [オブジェクト名 'Information_Schema.INDEXES' が無効です。]とエラーになります。 > > 索引情報を取得する方法はないのでしょうか。SQL ServerはSQL92のスキーマ取得を満たしていないのでしょうか。 > 宜しくお願いいたします。
まぁ、ぶっちゃけSQL Serverは満たしてない。 独自路線というか、過去の遺産とでも言うべきかmasterの中を見てみると、バージョンが変わるたびに構造もごそっと変わる。
だから、masterの中身とかを直接いじったりしてるとバージョンアップの時に下手したら全部書き直しとかもあるから(経験者w)
なので、スキーマ情報とかを取得したいなら、SQL Server2000→2005の場合はストアドを使えってMS言ってたような記憶があるんだけど、2008ではView使えってことなのかな? 今、手持ちのPCに2008の環境がないから確認できないけど、sp_ほにゃららみたいなストアドはないですか?
|
|