KB3173157 - 新增一個儲存程序,用於手動清理變更追蹤側桌SQL Server

套用到
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) 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 2012 Standard SQL Server 2012 Enterprise SQL Server 2012 Developer

這次更新新增了一個儲存程序,讓你能手動清理啟用變更追蹤的資料庫中的側表 (change_tracking_objectid) 。

語法

sp_flush_CT_internal_table_on_demand [ @TableToClean= ]「表格名稱」

引數

[@TableToClean= ]「TableName」是啟用變更追蹤的表格名稱。 積壓的案件會保留給自動清理,透過變更追蹤。

預期輸出

當你執行儲存程序時,會發生以下情境之一:

  • 如果表格不存在或沒有啟用變更追蹤,就會跳出相應的錯誤訊息。
  • 這個儲存程序會呼叫另一個內部儲存程序,透過動態管理檢視sys.change_tracking_tables,從基於無效清理版本的變更追蹤側表中清理內容。 當它執行時,會顯示每 5000 列被刪除的總資料 () 。

      

解決方式

SQL Server 服務包資訊

此更新已在以下 SQL Server 服務包中修正:

SQL Server 2016 Service Pack 1

Service Pack 3 for SQL Server 2014

Service Pack 4 for SQL Server 2012

關於 SQL Server 服務包:

Service Pack 是累積性的。 每個新版 Service Pack 都包含前一版 Service Pack 中所有的修正程式,以及任何新增的修正程式。 我們的建議是套用該服務包的最新服務包及累積更新。 你不必在安裝最新的服務包前安裝先前的服務包。 請使用以下文章中的表1,查詢最新服務包及最新累積更新的更多資訊。

如何確定 SQL Server 及其元件的版本、版本與更新等級

參考資料關於變更追蹤清理的更多資訊,請參見《變更追蹤清理 (第一部分) 》及變更追蹤清理第二部分 ()