Работа с таблицами изменений
В дополнение к репликации изменений из таблиц исходной конечной точки в соответствующие таблицы целевой конечной точки, также можно реплицировать изменения в соответствующие таблицы изменений целевой конечной точки. Этот процесс происходит одновременно с применением изменений к целевым таблицам. Можно выбрать необходимое действие: реплицировать изменения только в цель, сохранить изменения в таблицах изменений либо и то, и другое. Для получения дополнительной информации см. раздел Использование модели таблицы изменений ниже.
ОБНОВЛЕНИЯ, примененные к источнику, которые не приводят к изменению исходных данных, будут применены к цели, но не будут применены к соответствующей таблице изменений. Например, если операция UPDATE (ОБНОВИТЬ) для столбца А в источнике меняет все значения больше 10 на 1 и одна из записей в столбце A уже имеет значение 1, то обновление для этой записи не будет записано в таблицу изменений.
Таблицы изменения имеют те же имена, что и реплицируемые таблицы, но с добавлением суффикса __ct
.
В дополнение к выбранным столбцам из исходной таблицы, таблица изменений также включает специальные столбцы заголовков, которые предоставляют больше сведений об изменении в строке, таких как операция, транзакция и метка времени. Это позволяет использовать язык запросов SQL для выполнения различных анализов событий изменений, включая обнаружение мошенничества, анализ трендов, инициирование бизнес-процессов и аварийное восстановление. Для получения информации о чтении таблиц изменений см. раздел «Чтение таблиц изменений».
Обработка операций усечения
Операции TRUNCATE (УСЕЧЬ) не выполняют усечение таблицы изменений. Вместо этого добавляется дополнительная запись в таблицу с operation=TRUNCATE.
Что касается самой целевой таблицы, если включены оба параметра: «Применить изменения» и «Сохранить изменения», целевая таблица будет усечена.
Чтобы применить операции TRUNCATE (УСЕЧЬ) и к таблице изменений, и к целевой таблице (для источников, которые поддерживают TRUNCATE), выполните следующие действия.
- В параметрах задачи на вкладке «Параметры сохранения изменений», убедитесь, что команда Применить к таблице изменений (по умолчанию) выбрана в раскрывающемся списке Параметры DDL.
- В параметрах задачи на вкладке «Параметры применения изменений», убедитесь, что команда Усечь целевую таблицу (по умолчанию) выбрана в раскрывающемся списке Когда исходная таблица усечена.
Использование модели таблицы изменений
При работе с таблицей изменений можно определить необходимое действие: сохранить изменения в таблице изменений, применить изменения к целевым таблицам или и то, и другое. Сделать этот выбор необходимо при определении задачи репликации. Для получения дополнительной информации об этой настройке см. раздел «Параметры сохранения изменений».
В случаях, когда выбрано применение и сохранение изменений, верно следующее:
-
Целевая таблица и таблица изменений должны находиться в одной конечной точке, хотя могут иметь разные схемы. Например, таблица изменений будет содержать заголовки метаданных.
Для получения дополнительных сведений об изменении схемы см. раздел «Переименование схемы таблицы изменений».
-
Изменения, примененные к таблице изменений, будут обрабатываться точно так же, как изменения, выполненные при соответствующей транзакции в исходной базе данных. По этой причине, когда используется режим применения Транзакционное или Пакетная оптимизация с установленным флажком Сохранить согласованность транзакций, изменения будут обрабатываться как одна транзакция.
Исключением является ситуация, когда возникает ошибка и задача данных переключается в режим применения «по одному», чтобы определить, с какой из операций изменений связана ошибка.
- Те же столбцы данных и применяются, и сохраняются, за исключением столбцов заголовков изменений, которые добавляются только в сохраненные таблицы изменений.