从可变表中删除
本文关键字:删除 | 更新日期: 2023-09-27 18:35:06
我刚刚在我的数据库中启用了更改跟踪的使用。我使用这些更改每隔几分钟更新一次索引。该程序changetable
只需使用
SELECT FROM CHANGETABLE(CHANGES dbo.table,0)
我现在需要清除表并delete
任何现有记录。
谢谢
禁用 tanbe (dbo.table) 的更改跟踪,然后重新启用
创建记录大于 0 时要删除的作业
从记录> 0 的"表名"中删除
或
从记录> 0 的"表名"中删除 *
您不会从 CHANGETABLE 中清除记录,它由 SQL 在打开时使用 CHANGE_RETENTION
和 AUTO_CLEANUP
选项为每个数据库进行管理。您可以在这篇 MSDN 文章中阅读有关这些选项的信息。
在对 CHANGETABLE 的调用中,您应该将第二个参数("0")更改为您收到的最后一个SYS_CHANGE_VERSION
,然后您将只收到已修改超过该版本的记录。
您可以通过禁用并启用该特定表的更改跟踪来清除该表:
ALTER TABLE Attributes DISABLE CHANGE_TRACKING
ALTER TABLE Attributes ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)