Adds a stored procedure for the manual cleanup of the change tracking side table in SQL Server

Applies to: SQL Server 2014 DeveloperSQL Server 2014 EnterpriseSQL Server 2014 Enterprise Core

This update adds a new stored procedure that enables you to manually clean up the side table (change_tracking_objectid) in a database on which the change tracking is enabled.


sp_flush_CT_internal_table_on_demand [ @TableToClean= ] 'TableName'


[@TableToClean= ] 'TableName' is the name of the table, for which change tracking is enabled. The backlogs are left for the automatic cleanup by change tracking.

Expected output

When you run the stored procedure, one of the following scenarios happens:
  • If the table doesn't exist or if change tracking isn't enabled, appropriate error messages will be thrown.
  • This stored procedure will call another internal stored procedure that cleans up contents from the change tracking side table that's based on the invalid cleanup version by using the sys.change_tracking_tables dynamic management view. When it's running, it will show the information of total rows deleted (for every 5000 rows).


Service pack information for SQL Server

This update is fixed in the following service packs for SQL Server:

SQL Server 2016 Service Pack 1

Service Pack 3 for SQL Server 2014

Service Pack 4 for SQL Server 2012


For more information about change tracking cleanup, see Change Tracking Cleanup (Part 1) and Change Tracking Cleanup (Part 2).