DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 2845380 - Last Review: August 14, 2013 - Revision: 3.0

Microsoft SQL Server 2012 Service Pack 1 fixes are distributed as one downloadable file. Given that the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 Service Pack 1 fix release. 

Symptoms

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.

Cause

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.

Resolution

Cumulative Update 4 for SQL Server 2012 SP1

The fix for this issue was first released in Cumulative Update 4. For more information about how to obtain this cumulative update package for SQL Server 2012 SP1, click the following article number to go to the article in the Microsoft Knowledge Base:
2833645  (http://support.microsoft.com/kb/2833645/ ) Cumulative update 4 for SQL Server 2012 SP1
Note Given that the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 SP1 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to go to the article in the Microsoft Knowledge Base:
2772858  (http://support.microsoft.com/kb/2772858/ ) The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released

More information

The memory manager uses several monitoring indicators and will quickly detect that the SHRINK is no longer needed. After the SHRINK is disabled, the buffer pool can grow again. This restores performance and page life expectancy to the intended targets.  

However, we recommend that you install this hotfix as soon as possible. Although the problem is short-lived, it may occur again. Additionally, the decrease in performance may be severe when the issue occurs.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References

For more information about the Incremental Servicing Model for SQL Server, click the following article number to go to the article in the Microsoft Knowledge Base:
935897  (http://support.microsoft.com/kb/935897/ ) An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems
For more information about the naming schema for SQL Server updates, click the following article number to go to the article in the Microsoft Knowledge Base:
822499  (http://support.microsoft.com/kb/822499/ ) Naming schema for Microsoft SQL Server software update packages
For more information about software update terminology, click the following article number to go to the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

Applies to
  • Microsoft SQL Server 2012 Enterprise
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2845380
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support