Check Index Fragmentation on All Indexes in SQL Server

Hello everyone,

In this article, I will try to give information about fragmentation detection in all Indexes in SQL Server.

In SQL Server you may want to see fragmentation on all Indexes.

You can do this easily using the code below.

SELECT dbschemas.[name] AS 'Schema',
       dbtables.[name] AS 'TABLE',
       dbindexes.[name] AS 'Index',
       indexstats.avg_fragmentation_in_percent,
       indexstats.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
    INNER JOIN sys.tables dbtables
        ON dbtables.[object_id] = indexstats.[object_id]
    INNER JOIN sys.schemas dbschemas
        ON dbtables.[schema_id] = dbschemas.[schema_id]
    INNER JOIN sys.indexes AS dbindexes
        ON dbindexes.[object_id] = indexstats.[object_id]
           AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID()
ORDER BY indexstats.avg_fragmentation_in_percent DESC;

When you run the above code, you will see a result similar to the one below.

As you can see, we detected fragmentation in all Indexes.

Good luck to everyone in business and life.

141 Views

Yavuz Selim Kart

I try to explain what I know in software and database. I am still improving myself by doing research on many programming languages. Apart from these, I am also interested in Graphic Design and Wordpress. I also have knowledge about SEO and Social media management. In short, I am a determined person who likes to work hard.

You may also like...

Don`t copy text!