-- Loop to invoke manual cleanup procedure for cleaning up change tracking tables in a database -- Fetch the tables enabled for Change Tracking select identity(int, 1,1) as TableID, object_name(object_id) as TableName into #CT_Tables from sys.change_tracking_tables -- Set up the variables declare @start int = 1, @end int = (select count(*) from #CT_Tables), @tablename varchar(255) while (@start <= @end) begin -- Fetch the table to be cleaned up select @tablename = TableName from #CT_Tables where TableID = @start -- Execute the manual cleanup stored procedure exec sp_flush_CT_internal_table_on_demand @tablename -- Increment the counter set @start = @start + 1 end drop table #CT_Tables