あまり使用されないインデックス順に表示(dm_db_index_usage_stats)
TechEd 2009 での私のシアターセッション「SQL Server 動的管理ビュー再入門」で紹介した「使用頻度の低い順にインデックスを取得」できるスクリプトです。DMV(動的管理ビュー)の dm_db_index_usage_stats とシステム カタログ ビューの sys.objects、sys.indexes を利用しています。
USE データベース名 go SELECT o.name AS table_name , i.name AS index_name , s.user_seeks -- Index Seek 数 , s.user_scans -- Index Scan 数 , s.user_updates -- UPDATE 数 FROM sys.objects o INNER JOIN sys.indexes i ON o.object_id = i.object_id INNER JOIN sys.dm_db_index_usage_stats s ON i.index_id = s.index_id WHERE o.type = 'U' AND database_id = DB_ID() AND s.object_id = OBJECT_ID('テーブル名') ORDER BY s.user_seeks+s.user_scans+s.user_updates