Поделиться через


CDC-источник

Источник CDC считывает диапазон данных об изменениях из таблиц изменений SQL Server 2014 года и передает изменения нижестоящим компонентам служб SSIS.

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

Источник CDC извлекает данные из базы данных SQL Server с использованием таблицы базы данных, представления или инструкции SQL.

Источник CDC использует следующие конфигурации.

  • Диспетчер соединений ADO.NET SQL Server для получения доступа к базе данных CDC SQL Server . Дополнительные сведения о настройке подключения к источнику CDC см. в разделе о редакторе источника CDC (страница "Диспетчер соединений").

  • Таблица, включенная для CDC.

  • Имя экземпляра отслеживания выбранной таблицы (если таковых существует несколько).

  • Режим обработки изменений.

  • Имя переменной пакета состояния CDC, на основе которой определен диапазон обработки CDC. Источник CDC не изменяет значение этой переменной.

Данные, возвращаемые источником CDC, являются теми же, что возвращают следующие функции CDC SQL Server: cdc.fn_cdc_get_all_changes_<capture-instance-name> или cdc.fn_cdc_get_net_changes_<capture-instance-name> (если они доступны). Единственным необязательным добавлением является столбец __$initial_processing , который указывает, может ли текущий диапазон обработки перекрывать диапазон начальной загрузки таблицы. Дополнительные сведения о начальной обработке см. в разделе CDC Control Task.

Источник CDC имеет один обычный вывод и один вывод ошибок.

Обработка ошибок

Источник CDC имеет вывод ошибок. Вывод ошибок компонента включает следующие выходные столбцы.

  • Код ошибки. Значение всегда равно -1.

  • Столбец с ошибкой. Входной столбец, вызывающий ошибку (это относится к ошибкам преобразования).

  • Столбцы строки с ошибкой. Данные записи, которые вызывают ошибку.

В зависимости от настройки поведения в случае ошибки, источник CDC поддерживает возврат ошибок (преобразование данных, усечение), которые обнаруживаются в процессе извлечения в выводе ошибок. Дополнительные сведения см. в разделе Редактор источника CDC (страница вывода ошибок).

Поддержка типов данных

Компонент источника CDC для Microsoft поддерживает все типы данных SQL Server , которые сопоставлены с верными типами данных SSIS.

Устранение нарушений в работе с источником CDC

Ниже приведена информация об устранении нарушений в работе с источником CDC.

Этот скрипт используется для выявления проблем и воспроизведения их в среде SQL Server Management Studio

Операцией источника CDC управляет операция задачи «Управление CDC», выполняемая перед вызовом источника CDC. Задача «Управление CDC» подготавливает значение переменной пакета состояния CDC для включения начального и конечного номеров LSN. Задача выполняет функции, эквивалентные следующему скрипту:

use <cdc-enabled-database-name>  
               declare @start_lsn binary(10), @end_lsn binary(10)  
               set @start_lsn = sys.fn_cdc_increment_lsn(  
                       convert(binary(10),'0x' + '<value-from-state-cs>', 1))  
               set @end_lsn =   
                       convert(binary(10),'0x' + '<value-from-state-ce>', 1)  
               select * from cdc.fn_cdc_get_net_changes_dbo_Table1(@start_lsn,  
@end_lsn, '<mode>')  

где:

  • <cdc-enabled-database-name> — это имя базы данных SQL Server, содержащей таблицы изменений.

  • <value-from-state-cs> — это значение, которое появляется в переменной состояния CDC как CS/<value-from-state-cs>/ (CS означает Current-processing-range-Start, то есть начало текущего диапазона обработки).

  • <value-from-state-ce> — это значение, которое появляется в переменной состояния CDC как CE/<value-from-state-cs>/ (CE означает Current-processing-range-End, то есть конец текущего диапазона обработки).

  • <mode> — это режимы обработки CDC. Режимы обработки могут иметь одно из следующих значений: Все, Все со старыми значениями, Суммарные, Суммарные с маской обновления, Суммарные со слиянием.

Этот скрипт позволяет выявлять проблемы путем воспроизведения их в среде SQL Server Management Studio, где можно легко воспроизводить и идентифицировать ошибки.

Сообщение об ошибке SQL Server

Следующее сообщение может быть возвращено SQL Server:

Задано недостаточное количество аргументов для процедуры или функции cdc.fn_cdc_get_net_changes_<..>.

Эта ошибка не указывает, что отсутствует какой-то аргумент. Она означает, что начало или конец диапазона значений номеров LSN в переменной состояния CDC является недопустимым.

Настройка CDC-источника

Источник CDC можно настраивать программным путем или с помощью конструктора служб SSIS.

Дополнительные сведения см. в одном из следующих разделов:

Диалоговое окно Расширенный редактор содержит свойства, которые могут быть заданы программным путем.

Открытие диалогового окна Расширенный редактор .

  • На экране Поток данных проекта SQL Server 2014 Integration Services (SSIS) щелкните правой кнопкой мыши источник CDC и выберите Показать Расширенный редактор.

Дополнительные сведения о свойствах, которые можно установить в диалоговом окне Расширенный редактор , см. в разделе CDC Source Custom Properties.

в этом разделе