Sql ChangeTracking очистить таблицы - PullRequest
7 голосов
/ 20 июня 2011

При использовании отслеживания изменений в Sql 2008 существует ли способ очистки таблиц отслеживания вручную?

Я знаю о свойствах CHANGE_RETENTION и AUTO_CLEANUP, но предоставил бы больший контроль над очисткой.

Ответы [ 2 ]

6 голосов
/ 12 августа 2011

В основном, эта информация отслеживания изменений хранится во внутренних таблицах, и нет возможности очищать ее вручную.Но все же мы можем очистить, отключив / включив отслеживание изменений для таблиц.

alter table <tableName> disable change_tracking  
alter table <tableName> enable change_tracking  

Эта команда очистит все отслеживания изменений, связанных с конкретной таблицей.

1 голос
/ 24 февраля 2015

Если вы хотите отключить привязку изменений для всех таблиц:

EXEC sp_msforeachtable "ALTER TABLE ? DISABLE CHANGE_TRACKING"
   , @whereand=" and exists (
   select null
   from sys.change_tracking_tables ctt
   where ctt.object_id = o.id
)
"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...