2011-06-20 12 views
7

Al usar Sql 2008 Change Tracking, ¿hay alguna forma de limpiar manualmente las tablas de seguimiento?Sql ChangeTracking mesas de limpieza

Conozco las propiedades CHANGE_RETENTION y AUTO_CLEANUP, pero conferiría más control sobre la limpieza.

Respuesta

6

Básicamente estas información de Cambio de seguimiento se almacenan en tablas internas y no hay opción para limpiarlas manualmente. Pero aún podemos borrar deshabilitando/habilitando el seguimiento de cambios para una tabla.

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

Este comando limpiará todos los cambios relacionados con la tabla específica.

+0

En el contexto de la EM sincronización con SQL CT esto no funciona. – Brent

1

Si desea desactivar el cambio de viradas para todas las tablas:

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