FIX: Sort operator spills to tempdb in SQL Server 2012 or SQL Server 2014 when estimated number of rows and row size are correct

Symptoms
Assume that you execute a query that uses a sort operator. In rare conditions, the sort operator may start spilling into tempdb, even if the estimated number of rows and average row size are accurate, and the system has sufficient memory. This leads to slow query execution.
Resolution
The issue was first fixed in the following cumulative update of SQL Server: Recommendation: Install the latest cumulative update for SQL Server
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. We recommend that you download and install the latest cumulative updates for SQL Server:


Note After applying this hotfix, enable trace flag 7470 to make SQL Server consider internal data management memory overhead when calculating required memory for sort. This will avoid spills in the situation explained in the Symptoms section above. Note that this will increase memory requirement for sort queries and may impact memory availability for concurrent queries, therefore it is recommended to use the trace flag selectively.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Properties

Article ID: 3088480 - Last Review: 10/19/2015 18:57:00 - Revision: 4.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced KB3088480
Feedback