Rebuilding / Reorganizing indexes not working properly on sql server 2005

  • Hi all,

    I run following script:-

    DECLARE @db_id SMALLINT;

    DECLARE @object_id INT;

    SET @db_id = DB_ID(N'SFNData');

    SET @object_id = OBJECT_ID(N'FDIP_B');

    IF @object_id IS NULL BEGIN PRINT N'Invalid object'; END ELSE BEGIN

    SELECT IPS.Index_type_desc, IPS.avg_fragmentation_in_percent, IPS.avg_fragment_size_in_pages, IPS.avg_page_space_used_in_percent, IPS.record_count, IPS.ghost_record_count, IPS.fragment_count, IPS.avg_fragment_size_in_pages

    FROM sys.dm_db_index_physical_stats(@db_id, @object_id, NULL, NULL , 'DETAILED') AS IPS WHERE IPS.avg_fragmentation_in_percent>0;

    END

    To find Fragmentation level on table named "ABC" and found avg frag. in percentage as per attached image.

    Then i applied rebuild / Reorganize indexes on this table through right click on indexes in S.S.M.S. After rebuilding / Reorganizing i run same script to check frag. level then result showing 0 for Nonclustered Indexed but heap index frag. percentage not updating.

    And other problem is when i run this script on same table after 24 hours it showing same avg_frag. percentage for all indexes as it was showing before Rebuilding / Reorganizing indexes.

    Please tell me where i am doing wrong. And help me to reduce fragmentation percentage of indexes for fast result from queries.

    Thanx in advance

    Neel

  • HEAP's cannot be rebuilt - they will always show fragmentation.

    As for the other indexes, how many pages in the index? What are the data types for the indexes? What is the fill factor defined as? And finally, what kind of activity is performed on that table?

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • If the indexes are less than a 8 pages in size, they won't take a full extent and you'll never get complete defragmentation. You may be seeing fragmentation going up overnight because of activity on the system. On most systems, fragmentation is not that big a deal, but you're right to monitor and try to maintain it.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply