使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵兆

套用SQL Server 2016 Service Pack 3 (SP3)SQL Server 2017 累積更新 26 (CU26)後,您執行追蹤清理儲存程式sp_flush_commit_table_on_demandsp_flush_CT_internal_table_on_demand,或如果執行追蹤自動清理變更,您會收到下列錯誤訊息:

Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber

Error converting data type numeric to int.

此外,下列錯誤可能會記錄在錯誤SQL Server記錄中:

DateTime spidNum     Error: 22122, Severity: 16, State: 1.

DateTime spidNum     Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.

發生此錯誤後,變更追蹤自動清理無法清理側邊資料表或 syscommittab 資料表中的專案。

原因

SQL Server 2016 SP3 和 SQL Server 2017 CU26 推出新資料表 dbo。MSchange_tracking_history,以及新的儲存程式sys.sp_add_ct_history,以記錄追蹤清理的歷程記錄。 此資料表有一個cleanup_version欄,目前宣告為 INT 資料類型。 儲存sys.sp_add_ct_history 程式有一個參數,@cleanup_version,這個參數也會宣告為 INT。 在使用追蹤變更的忙碌系統中,清理版本可以在一個給定的時間間隔內跨過 INT 範圍。 接著,當追蹤清理執行變更時,它會嘗試將 BIGINT 值插入此表格的 INT 資料行。 這會產生「症狀」一節中所描述的錯誤。

解決方案

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

2017 年 SQL Server累積更新 27

每個新的累積更新SQL Server包含上一個累加更新中包含的所有 hotfix 和所有安全性修正。 查看最新累積更新,SQL Server:

2017 年 SQL Server累積更新

點播 Hotfix 資訊:

此問題已修正下列適用于 SQL Server:

因應措施 

如果您遇到此問題,請卸載 2016 SP3 或 SQL Server 2017 CU26,SQL Server上一個版本。 Microsoft 正在積極調查此問題,並將于提供相關資訊時,以詳細資訊和其他指南更新本文。

狀態

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

參考資料

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

需要更多協助嗎?

想要其他選項嗎?

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

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

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×