KB2939277 - ИСПРАВЛЕНО: неправильные результаты при выполнении запросов, содержащих оператор UNION при использовании параллельного плана запросов в SQL Server

Применяется к
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

Проблема

Предположим, что вы выполнили запрос, содержащий оператор UNION, с помощью плана параллельных запросов в Microsoft SQL Server 2008 R2, SQL Server 2012 или SQL Server 2014. Агрегатный оператор потока может создавать повторяющиеся строки, если выполняются следующие условия:

  • В запросе используется константа или столбец с фиксированным значением (например, подразумеваемое из предиката типа column = <constant> при выборе столбца).
  • В SQL Server используется план параллельного выполнения запросов, включающий агрегатный оператор потока, выполняющий агрегатные вычисления по постоянному или фиксированному значению (этот агрегатный оператор потока можно вводить в запросах, содержащих оператор UNION, чтобы получить отличные выходные данные).

Решение

SQL Server 2012

Чтобы устранить эту проблему в SQL Server 2012, примените SQL Server 2012 с пакетом обновления 2. Для получения дополнительных сведений об ошибках, исправленных в SQL Server 2012 с пакетом обновления 2 (SP2), откройте статью со следующим номером в базе знаний Майкрософт:

2958429 Ошибки, исправленные в SQL Server 2012 с пакетом обновления 2 (SP2)

Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.

Накопительный пакет обновления 13 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) /en-us/help/2967540

Накопительный пакет обновления 2 для SQL Server 2014 г. /en-us/help/2967546

Накопительный пакет обновления 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2954099

Сведения о накопительных обновлениях для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».