30 July 2010

Modify the recurring system jobs' interval in CRM 4

Default CRM4.0 come with 3 system jobs, "Update Contract States","Organization Full text Catalog index", and "SQM Data Collection". If you have duplicate detection rules published, then you will have more than 3 jobs.[Matchcode Update]

Default jobs run every 5 minutes, each time it run will create a record under the AsyncOperationBase table. This definately will make the tbale grow very fast if you have many duplicate detection rules. Simple math will be 12 records per minutes; 720 records per hour; 17280 records per day.

Of course there is service to help you remove old records, but for me the Matchcode Update seems no need to run so frequently if most of the time is use for browsing. For me update hourly or every 30 minutes is fair enough.

Example: run this query in MSCRM DB
<br /> SELECT name,RecurrencePattern FROM dbo.AsyncOperationBase<br /> WHERE RecurrencePattern is not null and name='Accounts' <br /> 

name is the duplicate detection job related entity.

You will see something like "FREQ=MINUTELY;INTERVAL=5;"
In this case i change to 7 minutes by using SQL update statement,
then restart service.

Reference http://msdn.microsoft.com/en-us/library/cc189846.aspx for all valid values.

*Information I post below is an unsupported customization, this might void your CRM warranty. Personnaly I have tried this in both my CRM development environment and is working like charm!


Post a Comment