从可变表中删除

本文关键字:删除 | 更新日期: 2023-09-27 18:35:06

我刚刚在我的数据库中启用了更改跟踪的使用。我使用这些更改每隔几分钟更新一次索引。该程序changetable只需使用

SELECT FROM CHANGETABLE(CHANGES dbo.table,0)

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

谢谢

从可变表中删除

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

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

从记录> 0 的"表名"中删除

从记录> 0 的"表名"中删除 *

您不会从 CHANGETABLE 中清除记录,它由 SQL 在打开时使用 CHANGE_RETENTIONAUTO_CLEANUP 选项为每个数据库进行管理。您可以在这篇 MSDN 文章中阅读有关这些选项的信息。

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

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

ALTER TABLE Attributes DISABLE CHANGE_TRACKING
ALTER TABLE Attributes ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)