With the recent release of CRM 2011, we have been seeing a lot of activity around test upgrades to CRM 2011.  I recently ran into a scenario that others may run into around the upgrade to CRM 2011 that can significantly extend the amount of time your upgrade will take to complete.  One of the earlier steps we do in the upgrade is to remove completed records from the AsyncOperationBase table.  Depending on if you have been cleaning this table up regularly or not, and the number of workflows, plugins, etc that you may have in place, this table can become fairly large in size.  For this particular customer, it was going to take the upgrade approximately 5 hours to complete just this step.  When you are performing a potentially time sensitive upgrade you will likely want to cut down on the time it takes to complete by doing any tasks you can ahead of time.  You can clean up the AsyncOperationBase table ahead of time by utilizing the script in the following KB article.

Please note that the first time this is run it can take a significant amount of time, so it is recommended to run this in a test environment first to get a general idea of the amount of time it will take to complete.  After that, you can schedule it for production after hours and have the Microsoft CRM Asynchronous Processing Service stopped while the script is running.  Additionally, this will remove the workflow history, so if you need it the script would need to be modified.


For those that are still on CRM 3.0 and looking to upgrade to CRM 4.0 so that you are one step closer to CRM 2011 here are some general recommendations that we have for that upgrade.

·         Increase the OLEDB and Extended timeouts

o   http://support.microsoft.com/kb/918609

·         Remove completed Workflow

o   See 3.0 Perf Whitepaper page 14

·         Check for updates when starting the 4.0 install


If you would like additional assistance with the upgrade process to CRM 4.0 or CRM 2011 please see the following data sheet.