Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1

徵狀

請試想下列情況:

  • 您使用的 基數估計(CE)設定與資料庫相容性等級120或您的 Microsoft SQL Server 2016 和2017系統較新的層級。

  • 您執行包含搜尋謂詞的查詢。

  • 查詢會搜尋小於或等於任何小於已儲存在statistics 物件中RANGE_HI_KEY之最小值之數位的值。 或者,查詢會搜尋大於RANGE_HI_KEY 最大值的值,以取得相同的統計資料。

在這種情況下,查詢優化程式會 overestimates 資料列數。 這可能會導致不超過最佳的查詢方案選擇和效能較差。

解決方案

此問題的修正套裝程式含在 SQL Server 的下列累積更新中:

SQL Server 2017 累計更新6

SQL Server 2016 SP1 的累積更新8

SQL Server 2016 的累積更新2 注意: 安裝此更新之後,您必須啟用追蹤標誌4199才能啟用此修正程式。 若要啟用追蹤標誌4199,請參閱 Microsoft 開發人員網路(MSDN)網站上的 追蹤標誌(transact-sql) 主題。

 

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2017 的最新累計更新

SQL Server 2016 的最新累計更新

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考

瞭解 Microsoft 用於描述軟體更新的 術語

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。