Перейти к основному содержимому Перейти к дополнительному содержимому

Работа с таблицами изменений

В дополнение к репликации изменений из таблиц исходной конечной точки в соответствующие таблицы целевой конечной точки, также можно реплицировать изменения в соответствующие таблицы изменений целевой конечной точки. Этот процесс происходит одновременно с применением изменений к целевым таблицам. Можно выбрать необходимое действие: реплицировать изменения только в цель, сохранить изменения в таблицах изменений либо и то, и другое. Для получения дополнительной информации см. раздел Использование модели таблицы изменений ниже.

Примечание к информации

ОБНОВЛЕНИЯ, примененные к источнику, которые не приводят к изменению исходных данных, будут применены к цели, но не будут применены к соответствующей таблице изменений. Например, если операция UPDATE (ОБНОВИТЬ) для столбца А в источнике меняет все значения больше 10 на 1 и одна из записей в столбце A уже имеет значение 1, то обновление для этой записи не будет записано в таблицу изменений.

Таблицы изменения имеют те же имена, что и реплицируемые таблицы, но с добавлением суффикса __ct.

В дополнение к выбранным столбцам из исходной таблицы, таблица изменений также включает специальные столбцы заголовков, которые предоставляют больше сведений об изменении в строке, таких как операция, транзакция и метка времени. Это позволяет использовать язык запросов SQL для выполнения различных анализов событий изменений, включая обнаружение мошенничества, анализ трендов, инициирование бизнес-процессов и аварийное восстановление. Для получения информации о чтении таблиц изменений см. раздел «Чтение таблиц изменений».

Обработка операций усечения

Операции TRUNCATE (УСЕЧЬ) не выполняют усечение таблицы изменений. Вместо этого добавляется дополнительная запись в таблицу с operation=TRUNCATE.

Что касается самой целевой таблицы, если включены оба параметра: «Применить изменения» и «Сохранить изменения», целевая таблица будет усечена.

Чтобы применить операции TRUNCATE (УСЕЧЬ) и к таблице изменений, и к целевой таблице (для источников, которые поддерживают TRUNCATE), выполните следующие действия.

  1. В параметрах задачи на вкладке «Параметры сохранения изменений», убедитесь, что команда Применить к таблице изменений (по умолчанию) выбрана в раскрывающемся списке Параметры DDL.
  2. В параметрах задачи на вкладке «Параметры применения изменений», убедитесь, что команда Усечь целевую таблицу (по умолчанию) выбрана в раскрывающемся списке Когда исходная таблица усечена.

Использование модели таблицы изменений

При работе с таблицей изменений можно определить необходимое действие: сохранить изменения в таблице изменений, применить изменения к целевым таблицам или и то, и другое. Сделать этот выбор необходимо при определении задачи репликации. Для получения дополнительной информации об этой настройке см. раздел «Параметры сохранения изменений».

В случаях, когда выбрано применение и сохранение изменений, верно следующее:

  • Целевая таблица и таблица изменений должны находиться в одной конечной точке, хотя могут иметь разные схемы. Например, таблица изменений будет содержать заголовки метаданных.

    Для получения дополнительных сведений об изменении схемы см. раздел «Переименование схемы таблицы изменений».

  • Изменения, примененные к таблице изменений, будут обрабатываться точно так же, как изменения, выполненные при соответствующей транзакции в исходной базе данных. По этой причине, когда используется режим применения Транзакционное или Пакетная оптимизация с установленным флажком Сохранить согласованность транзакций, изменения будут обрабатываться как одна транзакция.

    Исключением является ситуация, когда возникает ошибка и задача данных переключается в режим применения «по одному», чтобы определить, с какой из операций изменений связана ошибка.

  • Те же столбцы данных и применяются, и сохраняются, за исключением столбцов заголовков изменений, которые добавляются только в сохраненные таблицы изменений.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!