Извлеките данные об изменениях с использованием источника CDC

Область применения:SQL Server среда выполнения интеграции SSIS в Фабрика данных Azure

Внимание

Компоненты потока CDC, включая задачу управления CDC, источник CDC и разделитель CDC, устарели. Дополнительные сведения см. в объявлении.

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

Дополнительные сведения о задаче «Управление CDC» см. в разделе CDC Control Task.

Дополнительные сведения об источнике CDC см. в разделе CDC Source.

Извлечение информации об изменениях с использованием источника CDC

  1. В SQL Server Data Tools откройте проект служб SQL Server 2019 Integration Services (SSIS), содержащий нужный пакет.

  2. В Обозревателе решений дважды щелкните пакет, чтобы его открыть.

  3. Перейдите на вкладку Поток данных, а затем на Панели элементов перетащите источник CDC в область разработки.

  4. Дважды щелкните по источнику CDC.

  5. В диалоговом окне Редактор источников CDC , на странице Диспетчер соединений выберите существующий диспетчер соединений ADO.NET из списка или щелкните Создать , чтобы создать новое соединение. Подключение должно быть установлено с базой данных SQL Server, содержащей таблицы изменений для чтения.

  6. Выберите таблицу CDC , в которой необходимо обработать изменения.

  7. Выберите или введите имя экземпляра захвата CDC для таблицы CDC, которую нужно прочитать.

    Отслеживаемая исходная таблица может иметь один или два отслеживаемых экземпляра для обеспечения возможности беспрепятственных переходов определения таблицы во время изменений схемы. Если для исходной таблицы, для которой выполняется отслеживание, определено несколько экземпляров отслеживания, выберите в этом поле экземпляр отслеживания, который нужно использовать. По умолчанию экземпляр отслеживания для таблицы [схема].[таблица] имеет имя <схема>_<таблица>, но фактически используемые экземпляры отслеживания могут иметь другие имена. Фактическая таблица, из которой считываются данные, — это таблица CDC cdc .<capture-instance>_CT.

  8. Выберите режим обработки, который в наилучшей степени соответствует конкретным потребностям обработки. Возможными вариантами являются следующие.

    • Все: возвращает изменения в текущем диапазоне CDC без значений перед обновлением .

    • Все со старыми значениями: возвращает изменения в текущем диапазоне обработки CDC, включая старые значения (перед обновлением). С каждой операции Update связаны две строки: одна со значениями перед обновлением и еще одна со значениями после обновления.

    • Net: возвращает только одну строку изменений для каждой исходной строки, измененной в текущем диапазоне обработки CDC. Если исходная строка была обновлена несколько раз, вырабатывается комбинированное изменение (например, результат операций insert и update формируется как единственное обновление, а результат операций update и delete — как единственное удаление). При работе в режиме обработки изменений «Суммарные» обеспечивается возможность разбивать изменения на выводы Delete, Insert и Update и обрабатывать их параллельно, поскольку единственная исходная строка появляется более чем в одном выводе.

    • Net с маской обновления: Этот режим аналогичен обычному режиму Net, но в нем также добавляются логические столбцы с шаблоном имени __$<имя_столбца>__Changed, которые указывают, какие столбцы были изменены в текущей строке изменений.

    • Net со слиянием: Этот режим аналогичен обычному режиму Net, но в нем операции Insert и Update объединены в одну операцию Merge (UPSERT).

  9. Выберите строковую переменную пакета службы SSIS, в которой хранится состояние CDC для текущего контекста CDC. Дополнительные сведения о переменной состояния CDC см. в разделе Определение переменной состояния.

  10. Установите флажок Включить столбец индикатора повторной обработки , чтобы создать специальный выходной столбец с именем __$reprocessing. Этот столбец имеет значение true , если диапазон обработки CDC перекрывается с начальным диапазоном обработки (с диапазоном номеров LSN, соответствующих периоду начальной загрузки) или если диапазон обработки CDC подвергается повторной обработке вследствие ошибки в предыдущем прогоне. Этот столбец индикатора позволяет разработчику служб SSIS трактовать ошибки иначе при повторной обработке изменений (например, пропускать действия наподобие удаления несуществующей строки или вставки, которая окончилась неудачей из-за дублирующегося ключа).

    Дополнительные сведения см. в статье CDC Source Custom Properties.

  11. Чтобы обновить сопоставление между внешними и выходными столбцами, щелкните Столбцы и выберите другие столбцы в списке Внешний столбец .

  12. Можно также обновить значения выходных столбцов, удаляя значения в списке Выходной столбец .

  13. Чтобы настроить вывод ошибок, щелкните Вывод ошибок.

  14. Можно щелкнуть Предварительный просмотр , чтобы рассмотреть до 200 строк данных, извлеченных источником CDC.

  15. Щелкните OK.