Hotfix and Security Content Publishing: 113140
徵狀
假設您已在 SQL Server 2017 中啟用一或多個表格的變更追蹤,並將 [ AUTO_CLEANUP = 開啟] 設定為 [開啟]。 您會注意到沒有任何列會從側表或 sys syscommittab 系統資料表中刪除或清除,即使 保留期間。 此外,您會注意到下列問題:
-
如果您使用專用的系統管理員連線來連線,並查詢不正確清理和強化的清理版本,您會發現它們是否定的:
從 sysobjvalues 中選取 [*],其中 valclass = 7 且 objid = 1003--無效
從 sysobjvalues 中選取 [*],其中 valclass = 7 且 objid = 1004--加固
-
如果您執行下列 SP 以手動方式清除 sys. syscommittab,就不會執行清除操作,且會將加強的清理版本視為否定:
exec sp_flush_commit_table_on_demand
輸出
Change_tracking_hardened_cleanup_version ()傳回的值為-nnnnnn。
-
如果您在變更追蹤自動清理期間,使用 change_tracking_cleanup 事件收集延伸的事件會話,您會注意到 CleanupStatusChange 已設定為32(錯誤),且存在清除工作:
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
解決方案
此問題已在下列 SQL Server 累積更新中修正:
關於 SQL Server 的累積更新:
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
注意: 若要解決此問題,您需要啟用追蹤標記8290,並讓自動清理程式執行。 啟用此追蹤標誌之後,變更追蹤自動清除程式將會根據保留期間將不正確清理版本重設為 [清除版本]。 您可以在工作階段層級或啟動層級啟用此追蹤旗標。 為了 瞭解清理版本變為否定的原因根本原因,建議您致電支援人員並提供更多詳細資料。
參考
了解 Microsoft 用來說明軟體更新的術語。
Bug Information:
-
Bug #: 13312017 (sqlbuvsts01)
-
Bug #: 113039 (Content Idea)
KE: v-sidong
Author:
Writer: v-sidong
Tech reviewer: tzakir; akbarf; lzhang
Editor: v-jizho