Personalized Community is here!
Quickly customize your community to find the content you seek.
Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 Release Wave 2Discover the latest updates and new features to Dynamics 365 planned through March 2021.
Release overview guides and videos Release Plan | Preview 2020 Release Wave 2 TimelineWatch the 2020 Release Wave 1 virtual launch event
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
I have been looking into various performance issues with our CRM database and one which we have noticed very strange is regular database blocking which seems to originate from advanced find.
Several times a day the entire CRM system becomes non responsive for all users and upon investigation of the database there are blocking processes which appear to be attempting to create functions on the CRM database. The two main offenders appear to be dbo.fn_GetCutoverTime and dbo.fn_FindUserGuid.
For some reason this will block all other processes for several minutes, can anyone help with a resolution or point me in the right direction.
Our set up is 2x webservers, 2x async servers, 1x reporting services, 1x SQL Server 2008 R2, with approximately 400 users.
I believe the version we are running has roll up 16 applied however I am still confirming this.
Can you find out what is the size of your AsyncOperationBase table in SQL?
I believe this is located on your Org_MSCRM database.
If this database is big, try the steps included in this KB Article:
Gus is on with looking at what's going on with async. If you are looking at what is going on in a targeted period of the day I would also suggest using a tool called SQL Nexus that can be used to caputre data and then suggest things like Missing indexes to put into place. That is available from the link below.
Also, the white paper for for performance has good information.
CRM Support Engineer
Thanks for you help,
The async table is something that we are keeping an eye on, we have a nightly job to clear down any old or failed jobs at present the size is 122,000 rows which I believe should not cause us any issues.
Since my original post we have found out a little more information, when the user executes an advanced find to return 10,000 rows in excel, 50,000 page locks are taken out against the exported table. I would have assumed that these should have been escalated to a table level lock but sometimes (mostly) this does not happen. I suspect the database is running out of lock resources and thus can not process any further requests.
I would have thought this would have been escalated to a table lock once 5000 page locks had been acquired?
I have checked the sys,tables and it appears that the lock_escalation is set to TABLE and has not been changed.
Business Applications communities