KB2939277 - 修正:當您在 SQL Server 中使用平行查詢計劃執行包含 UNION 運算子的查詢時,結果不正確

套用到
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

症狀

假設您在 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中使用平行查詢計劃執行包含 UNION 運算子的查詢。 當下列條件為真時,串流彙總運算子可能會產生重複的資料列:

  • 例如,查詢會使用常數或具有固定值 (的欄位,例如從述詞隱含,例如 column = <constant> ,當該欄位被選取時) 。
  • SQL Server 使用平行查詢執行計劃,其中包括在常數或固定值上彙總的串流彙總運算子 (可以在包含 UNION 運算子的查詢中引入此串流彙總運算子,以產生不同的輸出) 。

解決方式

SQL Server 2012

若為 SQL Server 2012,若要解決此問題,請套用 SQL Server 2012 Service Pack 2。 如需有關 SQL Server 2012 SP2 中已修正的錯誤的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2958429 SQL Server 2012 Service Pack 2 中修正的錯誤

此問題已先在下列 SQL Server 累積更新中修正。

SQL Server 2008 R2 SP2 的累積更新 13 /zh-tw/help/2967540

2014 年 SQL Server 累積更新 2 /zh-tw/help/2967546

SQL Server 2012 SP1 的累積更新 10 /zh-tw/help/2954099

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。