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:
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.