Устранение неполадок с ресурсом отслеживания измененных данных в Фабрика данных Azure
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье приводятся рекомендации по устранению распространенных проблем с ресурсом отслеживания измененных данных в Фабрика данных Azure.
Проблема. Проблемы с включением собственного CDC в источнике SQL.
Для источников в SQL доступны два набора таблиц: таблицы с поддержкой собственного CDC SQL и таблицы с добавочными столбцами на основе времени.
Выполните следующие действия, чтобы настроить собственный CDC для конкретной исходной таблицы в базе данных SQL.
Рассмотрим следующую таблицу с идентификатором в качестве первичного ключа. Если первичный ключ присутствует в схеме, supports_net_changes имеет значение true по умолчанию. Если нет, настройте его с помощью скрипта в запросе 3.
Запрос 1
CREATE TABLE Persons (
ID int,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Last_login DATETIME,
PRIMARY KEY (ID));
Примечание.
В настоящее время ресурс ADF CDC загружает только чистые изменения для операций вставки, обновления и удаления.
Чтобы включить CDC на уровне базы данных, выполните следующий запрос:
Запрос 2
EXEC sys.sp_cdc_enable_db
Чтобы включить CDC на уровне таблицы, выполните следующий запрос:
Запрос 3
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo'
, @source_name = N'Persons'
, @role_name = N'cdc_admin'
, @supports_net_changes = 1
, @captured_column_list = N'ID';
Проблема. Таблицы недоступны для выбора в процессе настройки ресурсов CDC.
Если источник SQL не имеет cdC SQL Server с включенным net_changed или не имеет добавочных столбцов на основе времени, таблицы в источнике будут недоступны для выбора.
Проблема. Кластер отладки недоступен из теплого пула.
Кластер отладки недоступен из теплого пула. Будет время ожидания в порядке 1+ минут.
Проблема. Проблемы при отслеживании операций удаления.
В настоящее время ресурс CDC поддерживает операции удаления для следующих типов приемников — База данных SQL Azure и delta. Чтобы добиться этого на странице сопоставления столбцов, выберите столбец ключей , который можно использовать для определения того, соответствует ли строка из источника строке из приемника.
Проблема: ресурс MY CDC завершается ошибкой, если целевая таблица SQL содержит столбцы удостоверений.
Получение следующей ошибки при запуске CDC, когда в целевой таблице приемника есть столбцы удостоверений,
Не удается вставить явное значение столбца удостоверений в таблице TableName, если IDENTITY_INSERT имеет значение OFF.
Выполните следующий запрос, чтобы определить, есть ли столбец удостоверений в целевом объекте на основе SQL.
Запрос 4
SELECT *
FROM sys.identity_columns
WHERE OBJECT_NAME(object_id) = 'TableName'
Для разрешения этого пользователя можно выполнить одно из следующих действий:
- Задайте для параметра IDENTITY_INSERT значение ON, выполнив следующий запрос на уровне базы данных и повторно запустите средство сопоставления CDC
Запрос 5
SET IDENTITY_INSERT dbo.TableName ON;
(или)
- Пользователь может удалить определенный столбец удостоверений из сопоставления при выполнении вставок.
Проблема. Проблемы с использованием локальной среды выполнения интеграции.
В настоящее время локальная среда выполнения интеграции не поддерживается в ресурсе CDC. При попытке подключиться к локальному источнику используйте среду выполнения интеграции Azure с управляемой виртуальной сетью.