0

我刚刚在我的数据库中启用了更改跟踪。我使用这些更改每隔几分钟更新一次索引。changetable该程序正在简单地使用正确地获取信息

SELECT FROM CHANGETABLE(CHANGES dbo.table,0)

我现在需要清除表和delete任何现有记录。

谢谢

4

4 回答 4

1

禁用 tanbe (dbo.table) 的更改跟踪,然后重新启用

于 2012-07-04T09:34:15.027 回答
0

创建记录大于0时删除的作业

从“表名”中删除,其中记录 > 0

或者

DELETE * FROM "tablename" WHERE RECORDS > 0

于 2012-05-24T07:46:22.853 回答
0

您不会从 CHANGETABLE 中清除记录,它是由每个数据库的 SQL 管理的,当它打开时使用CHANGE_RETENTIONand选项。您可以在这篇 MSDN 文章AUTO_CLEANUP中了解这些选项。

在您对 CHANGETABLE 的调用中,您应该将第二个参数(“0”)更改为SYS_CHANGE_VERSION您收到的最后一个参数,然后您将只收到经过该版本修改的记录。

于 2014-05-28T22:04:40.623 回答
0

您可以通过禁用和启用特定表的更改跟踪来清除更改跟踪表:

ALTER TABLE Attributes DISABLE CHANGE_TRACKING
ALTER TABLE Attributes ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)
于 2020-03-26T08:54:39.970 回答