Ответ эксперта

Чем различаются CDC, Change Tracking и temporal tables?

Вопрос по направлению: Экспертиза СУБД Microsoft SQL Server

Ответ

Change Data Capture сохраняет для включённых таблиц сведения о DML, включая вид операции и изменённые данные. Change Tracking идентифицирует изменённые строки и последнюю операцию относительно базовой версии. Сведения о столбцах доступны только при TRACK_COLUMNS_UPDATED = ON, а несколько изменений одной строки могут быть объединены. Прежние значения и полную последовательность операций Change Tracking не хранит. Системно-версионные temporal tables помещают предыдущие версии строк в history table.

Все механизмы действуют только после включения и зависят от очистки. У temporal tables периодные значения основаны на UTC-времени начала транзакции, а не обязательно на времени отдельного оператора или commit; несколько изменений одной транзакции проверяют непосредственно в history table. Встроенная политика retention доступна с SQL Server 2017, для более ранней версии нужен другой контролируемый способ. Перед исследованием фиксируют настройки, время и признаки очистки. Отсутствовавшую ранее историю нельзя создать задним числом.

Актуализировано
Обсудить задачу

Нужна экспертиза или консультация?

Опишите ситуацию и цель обращения. Мы определим нужный вид исследования, подберём профильного эксперта и поможем подготовить вопросы и материалы.

  • Подберём специалиста
  • Поможем с вопросами
  • Оценим срок и стоимость
Оценить материалы или позвоните 8 (800) 333-24-09 Бесплатный звонок по России