Symptoms
Assume that you run a query that contains UNION operator by using parallel query plan in Microsoft SQL Server 2008 R2, SQL Server 2012, or SQL Server 2014. The stream aggregate operator may produce duplicate rows when the following conditions are true:
-
The query uses a constant or a column with fixed value (for example, implied from a predicate like column = <constant> when the column is selected).
-
SQL Server uses parallel query execution plan that includes a stream aggregate operator that aggregates on the constant or fixed value (this stream aggregate operator can be introduced in queries that contain UNION operator in order to produce distinct output).
Resolution
SQL Server 2012
For SQL Server 2012, to resolve this issue, apply SQL Server 2012 Service Pack 2. For more information about bugs that are fixed in SQL Server 2012 SP2, click the following article number to view the article in the Microsoft Knowledge Base:
2958429 Bugs that are fixed in SQL Server 2012 Service Pack 2
The issue was first fixed in the following cumulative update of SQL Server.
Cumulative Update 13 for SQL Server 2008 R2 SP2 /en-us/help/2967540
Cumulative Update 2 for SQL Server 2014 /en-us/help/2967546
Cumulative Update 10 for SQL Server 2012 SP1 /en-us/help/2954099
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.