KB4459709 - 修正:當您在 SQL Server 2016 和 2017 中對啟用 RCSI 的資料庫中的資料行存放區執行查詢時,發生效能不佳的情況

Applies To
SQL 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 on Windows

症狀

請考慮以下案例:

  • 您有包含資料行存放區索引的 Microsoft SQL Server 2016 或 2017 資料庫。
  • 您在資料庫層級啟用 [讀取認可快照隔離] (RCSI) ,或資料庫在可用性群組中作為可讀取的次要複本 (在此案例中預設啟用 RCSI) 。
  • 由於 INSERT 陳述式出現在同一個索引上,因此您會對資料行存放區索引執行 read (SELECT) 查詢。

在此案例中,您可能會發現 SQL Server 2016 和 2017 的效能不佳。 此外,您可能會在 QUERY_TASK_ENQUEUE_MUTEX 和 ROWGROUP_VERSION 上遇到嚴重的封鎖和查詢等待。

解決方式

累積更新資訊:

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

SQL Server 2017 累積更新 16

SQL Server 2016 Service Pack 2 的累積更新 3

關於 SQL Server 的累積更新

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

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

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

隨選 Hotfix 資訊:

此問題已在下列 SQL Server 隨選 Hotfix 中修正:

SQL Server 2017 CU15 的隨選 Hotfix

因應措施

作為此問題的因應措施,您可以刪除資料表上的資料行存放區索引。

狀態

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

參考資料

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