我刚刚在我的数据库中启用了更改跟踪。我使用这些更改每隔几分钟更新一次索引。changetable
该程序正在简单地使用正确地获取信息
SELECT FROM CHANGETABLE(CHANGES dbo.table,0)
我现在需要清除表和delete
任何现有记录。
谢谢
我刚刚在我的数据库中启用了更改跟踪。我使用这些更改每隔几分钟更新一次索引。changetable
该程序正在简单地使用正确地获取信息
SELECT FROM CHANGETABLE(CHANGES dbo.table,0)
我现在需要清除表和delete
任何现有记录。
谢谢
禁用 tanbe (dbo.table) 的更改跟踪,然后重新启用
创建记录大于0时删除的作业
从“表名”中删除,其中记录 > 0
或者
DELETE * FROM "tablename" WHERE RECORDS > 0
您不会从 CHANGETABLE 中清除记录,它是由每个数据库的 SQL 管理的,当它打开时使用CHANGE_RETENTION
and选项。您可以在这篇 MSDN 文章AUTO_CLEANUP
中了解这些选项。
在您对 CHANGETABLE 的调用中,您应该将第二个参数(“0”)更改为SYS_CHANGE_VERSION
您收到的最后一个参数,然后您将只收到经过该版本修改的记录。
您可以通过禁用和启用特定表的更改跟踪来清除更改跟踪表:
ALTER TABLE Attributes DISABLE CHANGE_TRACKING
ALTER TABLE Attributes ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)