2011-06-20 10 views
7

Podczas korzystania z Sql 2008 Change Tracking jest sposób ręcznego czyszczenia tabel śledzenia?Sql ChangeTracking czyszczenia tabel

Wiem o właściwościach CHANGE_RETENTION i AUTO_CLEANUP, ale przyniosłabym większą kontrolę nad czyszczeniem.

Odpowiedz

6

Zasadniczo te informacje o zmianie śledzenia są przechowywane w wewnętrznych tabelach i nie ma opcji czyszczenia ręcznie. Ale nadal możemy to zrobić, wyłączając/włączając śledzenie zmian dla tabel.

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

To polecenie wyczyści wszystkie śledzenie zmian związane z konkretną tabelą.

+0

W kontekście MS SQL Sync CT to nie działa. – Brent

1

Jeśli chcesz wyłączyć zmiany sklejaniu dla wszystkich tabel:

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 
) 
"