FIX: Rare incorrect result occurs when you run parallel query in SQL Server 2012 or SQL Server 2014
Assume that you have a nonclustered columnstore index in Microsoft SQL Server 2012 or SQL Server 2014. You run a query in parallel mode to use the columnstore feature, and the query joins the index on multiple joining columns with the probe side results computed in complex expression. In this situation, an incorrect result set may occur.
When expressions are optimized on the probe side of hash join, SQL Server assumes a specific order in hash join columns. This order may become broken during query optimization, and may cause a hash join mismatch.
The issue was first fixed in the following cumulative update of SQL Server:
- Cumulative Update 3 for SQL Server 2014 SP1
- Cumulative Update 10 for SQL Server 2014
- Cumulative Update 8 for SQL Server 2012 SP2
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:
To work around this issue, use one of the following methods:
- Use MAXDOP=1 query hint when you execute the query.
- Upgrade to SQL Server 2014.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Article ID: 3077273 - Last Review: 10/19/2015 18:53:00 - Revision: 2.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
- kbfix kbqfe kbexpertiseadvanced kbsurveynew KB3077273