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


Устранение неполадок с ресурсом отслеживания измененных данных в Фабрика данных 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'

Для разрешения этого пользователя можно выполнить одно из следующих действий:

  1. Задайте для параметра IDENTITY_INSERT значение ON, выполнив следующий запрос на уровне базы данных и повторно запустите средство сопоставления CDC

Запрос 5

SET IDENTITY_INSERT dbo.TableName ON; 

(или)

  1. Пользователь может удалить определенный столбец удостоверений из сопоставления при выполнении вставок.

Проблема. Проблемы с использованием локальной среды выполнения интеграции.

В настоящее время локальная среда выполнения интеграции не поддерживается в ресурсе CDC. При попытке подключиться к локальному источнику используйте среду выполнения интеграции Azure с управляемой виртуальной сетью.