KB3151176 - 修正:在 SQL Server 2014 中,涉及純量使用者定義函數的查詢述詞的列數被低估

Applies To
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 使用新基數估計器,其中資料庫相容模式設定為 120。

在此案例中,當您執行查詢時,由於涉及查詢計劃中使用者定義函數的述詞的資料列數估計不正確,因此會遇到查詢效能不佳的情況。

解決方式

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

SQL Server 2014 Service Pack 1 的累積更新 6
        
安裝此累積更新套件之後,您必須啟用追蹤旗標 4199。 若要這樣做,您可以新增 -T4199 啟動參數。 或者,您可以針對特定工作階段使用 dbcc traceon (4199) 陳述式。

關於 SQL Server 的累積更新

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

適用於 SQL Server 2014 的最新累積更新
      

狀態

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

參考資料

瞭解 Microsoft 用來說明軟體更新的 術語 。