Я создал поток для обновления GUID (уникальный идентификатор записей сущностей CDS) в таблице SQL Server из CDS всякий раз, когда в CDS создается новая запись. Поток работает нормально, если я создаю записи одну за другой. Но если я импортирую несколько записей (около 3000 записей) из SQL в CDS с использованием потоков данных, я получаю указанную ниже ошибку взаимоблокировки в потоках.
Транзакция (идентификатор процесса 74) зашла в тупик на ресурсах блокировки с другим процессом и была выбрана жертвой тупика. Повторите транзакцию.
Поток данных обновляет данные по расписанию. Таким образом, я не мог каждый раз повторно отправлять неудавшиеся прогоны.
Как избавиться от этой тупиковой проблемы? Или есть ли другие подходы к эффективному обновлению таблицы SQL?
Я пробовал такие параметры, как степень параллелизма (10 записей), политика повтора. Но бесполезно. Если я уменьшу количество параллельно работающих записей до 1, тогда он будет работать медленно и потребуется более 1 часа для обновления 1000 записей.