FIX: Incorrect results when you run queries that contain UNION operator by using parallel query plan in SQL Server

Platí pro: SQL Server 2012 DeveloperSQL Server 2012 EnterpriseSQL Server 2012 Standard

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

Cumulative Update 2 for SQL Server 2014

Cumulative Update 10 for SQL Server 2012 SP1

Status


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