Today I was on the phone with my customer following up on performance issues and service architecture for a new environment. We’ve been involved for a few weeks now developing the new service model and associated architecture and operational plan.
During the call we caught up on events, plans for a golf game on the weekend and some investigation we have been performing regarding performance issues with their existing farm. Browsing the event logs turned up SQL errors (blocks and locks) on one of the content databases – bad news! Some further investigation we found a 2mil item list! Considering the limit is 2000 items its amazing the list grew to this point without causing more problems.
So how do you fix this? Well, the client tried deleting items but that lead to more SQL errors and crashes. At this point its being escalated.
So how could they have prevented this? Here are some thoughts:
- Read this article on design large lists
- Watch this video on managing large lists
- End user training and awareness
- Governance – there is no way they should be using a list as an application database
- Monitoring and reporting – more aggressive monitoring and reporting
I’m sure you could come up with some other ideas but these are a good starting point.