我在数据库中启用了更改跟踪 Trans 和表员工
ALTER DATABASE [Trans]
SET CHANGE_TRACKING = ON
( CHANGE_RETENTION = 5 MINUTES , AUTO_CLEANUP = ON)
ALTER TABLE [Employee]
ENABLE CHANGE_TRACKING
WITH ( TRACK_COLUMNS_UPDATED = OFF )
我在员工表中进行了一些更新,然后检查更改跟踪中的数据
SELECT * FROM CHANGETABLE(CHANGES [Employee], 0) AS ETbl
显示已更改的数据。我知道清理过程是异步的,所以我等待的时间比保留期长一些(比如8分钟)。我仍然得到查询的结果。清理过程在2天后执行。
我在网上搜索过它
Change Tracking Auto Cleanup doesn't work
但未找到正确的答案。
答案 0 :(得分:0)
更改跟踪自动清理是一个后台线程,每30分钟唤醒一次,并将遍历已启用更改跟踪的表列表。
它将清除相应边表中的过期记录。它根据您在数据库上启用更改跟踪时配置的保留期来标识过期记录。默认值为2天,这意味着每次清理边桌中超过2天的记录。