使用sp_flush_CT_internal_table_on_demand未刷新记录



我最近刚刚安装了SQL Server 2012 sp4来修复和添加sp_flush_CT_internal_table_on_demand。目前,我的保留期为5分钟的自动清理并没有清理我的边桌和sys_committable桌。我已经等了几个小时了,它仍然不起作用。

即使我手动运行存储过程sp_flush_CT_internal_table_on_demandsys.sp_flush_commit_table_on_demand,它仍然没有刷新记录。

你知道如何刷新记录吗?

exec sys.sp_flush_CT_internal_table_on_demand 'CT_Table'
exec sys.sp_flush_commit_table_on_demand 1000

sys.sp_flush_CT_internal_table_on_demand:的结果

Cleanup Watermark = 247171
Internal Change Tracking table name : change_tracking_168413161
Total rows deleted: 0.
Completion time: 2020-07-17T19:53:16.8926321-07:00

sys.sp_flush_CT_internal_table_on_demand:的结果

(0 rows affected)  
The Change Tracking manual cleanup procedure for database CEI has been executed  
Completion time: 2020-07-17T19:59:56.2205997-07:00

我今天遇到了同样的问题。最初我认为这一定是默认的change_retension 2天的方式。但是,即使设置为1分钟,存储的函数仍然没有从内部更改跟踪表中删除任何行。

我不确定我是否对这次讨论做出了贡献,或者进一步混淆了它。但无论谁遇到类似的问题或有解决方案,思想都会把它放在那里。。。

我也有同样的问题。

解决方案:我必须在数据库上发布一个检查点,然后手动过程才能批量删除5000行。

最新更新