Arrrggh SQL Server 2012 SP1 Performance Bug Alert
Posted by Rob Risetto on July 26, 2014
I’m highlighting this bug notice in my newsletter and blog since it has the potential to affect quite a few SQL Server 2012 installations.
Here’s the link to the MB KB article http://support.microsoft.com/kb/2845380 .
CU4 for SP1 resolves the issue.
The description from the KB Article follows.
You may experience slow performance in SQL Server 2012. When you check SQL Server Performance Monitor tools, you see the following:
- A rapid decline in the SQLServer:Buffer Manager\Page life expectancy performance counter values. When this issue occurs, the counter is near 0.
- The peak value of the SQL Server: Buffer manager\LazyWrites/sec counter is more than 1 for several seconds.
- An increase in the SQLServer:Memory Manager\Free Memory (KB) performance counter values.
The resource monitor and lazy writer activities in SQL Server are designed to maintain cache sizes and free list capacities to avoid memory shortage situations. Under rare circumstances, the memory manager in the SQL Server database engine may enable the SHRINK state for the Buffer Pool for longer than required. When approaching the memory target, a sudden burst of memory allocations may cause memory allocation failures and internal retries. During the retry activities, the memory manager can enable SHRINK states on the various caches in order to support the new memory requests. Under these retries there is a small window in which the SHRINK state may remain enabled longer than necessary to restore the free list capacities.
This causes a temporary release of more memory than is required to return to a steady state. For example, the buffer pool can release more data pages than required, inflating the free list depths and reducing the page life expectancy (PLE) for the buffer pool. In this situation, you’ll notice a quick decline in the SQLServer:Buffer Manager\Page life expectancy performance counter values and a quick increase in SQLServer:Memory Manager\Free Memory (KB) performance counter values.