FIX: Rare incorrect result occurs when you run parallel query in SQL Server 2012 or SQL Server 2014

Symptoms

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.

Cause

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.

Resolution

The issue was first fixed in the following cumulative update of SQL Server:
Recommendation: Install the latest cumulative update for SQL Server

Workaround

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.

Status

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

Properties

Article ID: 3077273 - Last Review: Oct 19, 2015 - Revision: 1

Feedback