KB2894305 - 修正:當您在 SQL Server 2012 或 SQL Server 2014 中執行查詢時,會產生未達最佳標準的執行計劃

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web 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 2012 中產生未達最佳標準的執行計畫:

  • 查詢包含 Case、When、Then 和 Else 陳述式。
  • When 陳述式具有評估為 “false” 的常數條件。
  • Then 陳述式包含 Select 子句。

記事​​

  • 在執行計畫中,會評估 Then 陳述式,並將其與 isFalseOrNull (0) 進行比較。 不過,When 陳述式評估永遠為 “False”。
  • Microsoft SQL Server 2008 R2 不會發生這個問題

      

解決方式

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

SQL Server 2014 累積更新 1 /zh-tw/help/2931693

SQL Server 2012 SP1 的累積更新 7 /zh-tw/help/2894115

關於 SQL Server 的累積更新

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

      

狀態

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