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

Applies To
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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.