主キーの無いテーブルを探す方法

クラスタ化されていないインデックスが設定されていないテーブルを探すSQL。つまり主キーの無いテーブルを探す。

まあ、主キーの無いテーブルなんて作るわけ無いでしょうと云いたいところだけど、過去に作られたテーブルには結構あったりするわけだ。
select
OBJECT_NAME(object_id)
from
 sys.indexes
where
OBJECTPROPERTY(object_id, 'IsUserTable') = 1
and
index_id = 0
あっ、distinct が必要かも。

参考にしたページ:
Finding Your Clustered Indexes

コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。