Home
Microsoft

First published on TECHNET on Feb 27, 2014

https://blogs.technet.microsoft.com/umairkhan/2014/02/27/configmgr-2012-rebuilding-indexes-criteria/

 

Hi Folks,

Todays’ post is about the ‘Rebuilding the Indexes’ criteria used by the ConfigMgr Maintenance task when it runs as per schedule. There were questions regarding which indexes are actually rebuild touched and what are not.

The option for enabling the Rebuild Indexes is shown below –


Criteria:

- The rebuilding of the indexes happens for the objects only if their FRAGMENTATION PERCENT is more than 10%.

- The index of type ‘HEAP’ are not considered (type = 0) for rebuild. Generally the types that are rebuild are CLUSTERED, NONCLUSTERED and XML.

 

The below query can be ran to find the tables whose indexes would be rebuild if the Maintenance task runs. [Sorted by the Most Fragmented first]

 

 select distinct sch.name 
+ '.' + OBJECT_NAME(stat.object_id), ind.name, convert(int,stat.avg_fragmentation_in_percent) 
as Fragmentation_percent
 from sys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,'LIMITED') stat
 join 
sys.indexes ind on 
stat.object_id=ind.object_id and stat.index_id=ind.index_id
 join 
sys.objects obj on obj.object_id=stat.object_id
 join 
sys.schemas sch on obj.schema_id=sch.schema_id
 where ind.name is not 
null and stat.avg_fragmentation_in_percent > 10.0 and ind.type 
> 0
 
 order 
by convert(int,stat.avg_fragmentation_in_percent) 
desc

 

Sample Output:

 

 

For indexes >30% fragmented we use

 

alter index <indexname> on <tablename> REBUILD WITH (ONLINE=ON)

If that fails

alter index <indexname>  on <tablename>  REBUILD WITH (ONLINE=OFF)

 

For < 30% fragmented we just reorganize

 

alter index <indexname>   on <tablename>   REORGANIZE

 

How to track this in logs? 

 

We log reindexing in the SMSDBMon.log in the %ConfigMgr%\Logs

Start

SMS_DATABASE_NOTIFICATION_MONITOR    5804 (0x16ac)    Task Rebuild Indexes is due now. 
SMS_DATABASE_NOTIFICATION_MONITOR    5804 (0x16ac)    Executing Rebuild Indexes 

End

SMS_DATABASE_NOTIFICATION_MONITOR    5804 (0x16ac)    Reindexing completed

Hope it Helps !

 

Umair Khan
Support Escalation Engineer | Microsoft System Center Configuration Manager