Zjištění míry fragmentace indexů napříč je základní předpoklad pro volbu vhodné strategie optimalizace indexů pomocí rebuild/reorganize operací. Všechny podstatné informace lze získat využitím systémové funkce sys.dm_db_index_physical_stats() a jejím spojením se systémovými pohledy, které nám poskytnou dodatečné informace nutné pro identifikaci indexu.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED GO SELECT o.name TableName, ips.index_id IndexId, i.name IndexName, ips.avg_fragmentation_in_percent AS ExtFragmentation, ips.avg_page_space_used_in_percent AS IntFragmentation FROM ( SELECT object_id, index_id, avg_fragmentation_in_percent, avg_page_space_used_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') WHERE index_id <> 0 ) AS ips INNER JOIN sys.indexes i ON i.object_id = ips.object_id AND i.index_id = ips.index_id INNER JOIN sys.all_objects o ON ips.object_id = o.object_id ORDER BY avg_fragmentation_in_percent DESC