MS SQL Server 2012更改跟踪自动清理无法正常工作

时间:2016-08-26 12:48:43

标签: change-tracking sql-server-2012-web

我在数据库中启用了更改跟踪 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

Change Tracking cleanup

但未找到正确的答案。

1 个答案:

答案 0 :(得分:0)

更改跟踪自动清理是一个后台线程,每30分钟唤醒一次,并将遍历已启用更改跟踪的表列表。

它将清除相应边表中的过期记录。它根据您在数据库上启用更改跟踪时配置的保留期来标识过期记录。默认值为2天,这意味着每次清理边桌中超过2天的记录。