KB3077273 - 修正:在 SQL Server 2012 或 SQL Server 2014 中執行平行查詢時,會發生罕見的不正確結果

Applies To
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)

症狀

假設您在 Microsoft SQL Server 2012 或 SQL Server 2014 中有非叢集資料行存放區索引。 您可以在平行模式下執行查詢以使用資料行存放區功能,而查詢會聯結多個聯結資料行上的索引,並以複雜運算式計算探查端結果。 在此情況下,可能會出現不正確的結果集。

原因

當在雜湊聯結的探查端最佳化運算式時,SQL Server 會在雜湊聯結欄中採用特定順序。 此順序可能會在查詢最佳化期間中斷,並可能導致雜湊聯結不相符。

解決方式

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

建議:安裝最新的 SQL Server 累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 我們建議您下載並安裝 SQL Server 的最新累積更新:

      

因應措施

若要解決這個問題,請使用下列其中一個方法:

  • 執行查詢時使用 MAXDOP=1 查詢提示。
  • 升級至 SQL Server 2014。

狀態

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