This post is in English, because I'd like to increase its potential audience. I also posted it to microsoft.public.sqlserver.programming newsgroup.
Today, a friend of mine sent me a link to one brief KB article I missed before:
http://support.microsoft.com/kb/917828
I must say that I'm totally astonished at the behaviour of SQL Server described there. After a short conversation we realized, that this is the reason of serious performance degradation both of us addressed several times without resolving the problem.
Could someone more knowledgeable about SQL Server internals explain me why such cache flushes are performed e.g. when a database backup is restored or when a database snapshot is dropped or even when a CPU utilization is high??
I'd appreciate any comments, suggestions or answers.
If you feel that this behaviour should be changed - please vote for it on Connect:
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=287295
I've already voted.
More information:
Out of Space - Pawel Potasinski Web Blog: Entire procedure cache flushed
microsoft.public.sqlserver.programming: Entire procedure cache flushed 'by design' (SQL2k5sp2)