One thing I often notice when reviewing deployments of Microsoft CRM is that the tables used to store records regarding workflow and async processes can get very large; specifically the AsyncOperationBase and WorkflowLogBase tables. By default, the records in these tables are stored indefinitely, when in fact after a point in the time business value of the information may not justify the extra space in the database. If a lot of workflow is being used in the deployment, these tables can grow quickly and can sometimes cause performance issues. There is some information available in KB articles on how a couple of registry keys can change the way these records are handled. The video below shows how these keys affect the records and how this has changed a bit in CRM 2011. Links to the KB articles explained in the video are also below. Whether or not these records are stored or removed will need to be a decision made for each deployment individually as each customer has different business rules. However in most cases, at some point it will make sense to remove some of these records.
- AsyncOperationBase table Workflow Expansion Task records
- Workflow records
- Managing the records with a recurring SQL Job