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 Cumulative update 4 for SQL Server 2012 SP1Note 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 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 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 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 Description of the standard terminology that is used to describe Microsoft software updates