Identifying Fragmentation of Tables

Last post 05-10-2009, 4:12 AM by Pandian. 0 replies.
Sort Posts: Previous Next
  •  05-10-2009, 4:12 AM Post number 73397

    • Pandian is not online. Last active: 05-10-2009, 11:35 PM Pandian
    • Not Ranked
    • Joined on 05-08-2009
    • Chennai
    • Level 1: Deep thought

    Identifying Fragmentation of Tables

    DECLARE @DBID INT

    SELECT @DBID = DB_ID()

    Identifying the High / Low Fragmentation of Objects in the Database

    SELECT OBJECT_NAME(FRG.[OBJECT_ID]) 'TABLE NAME',INDEX_TYPE_DESC 'INDEX TYPE',IND.[NAME],CASE WHEN FRG.AVG_FRAGMENTATION_IN_PERCENT <30 THEN 'To Be Re-Organized' ELSE 'To Be Rebuilt' END 'ACTION TO BE TAKEN' ,FRG.AVG_FRAGMENTATION_IN_PERCENT '% FRAGMENTED'

    FROM SYS.DM_DB_INDEX_PHYSICAL_STATS(@DBID, NULL, NULL, NULL, NULL) FRG JOIN SYS.SYSINDEXES IND

    ON (IND.ID =FRG.[OBJECT_ID] AND IND.INDID = FRG.INDEX_ID)

    WHERE FRG.AVG_FRAGMENTATION_IN_PERCENT > 0

    AND FRG.DATABASE_ID = @DBID

    AND IND.FIRST IS NOT NULL

    AND IND.[NAME] IS NOT NULL

    ORDER BY 5 DESC

View as RSS news feed in XML