Обычно в такой ситуации я бы разработал пакет так, чтобы он перечислял по пакетам размером N (1k строк, 10M строк и т. Д.) И записывал в таблицу обработки, какой будет последняя успешная переданная партия.Однако с GUID вы не можете полностью разбить их на сегменты.
В этом конкретном случае я бы изменил ваш поток данных так, чтобы он выглядел как Источник -> Поиск -> Назначение.В своем преобразовании поиска запросите сторону Azure и получите только ключи (ВЫБЕРИТЕ myGuid FROM myTable).Здесь мы будем интересоваться только строками, которые не совпадают в наборе записей поиска, поскольку они ожидают передачи.
Полный кэш будет стоить около 1,5 ГБ (100 М *16 байт) памяти при условии, что сторона Azure была полностью заполнена, плюс связанные с этим расходы на передачу данных.Эта стоимость будет меньше, чем усечение и повторная передача всех данных, но я просто хочу убедиться, что я их вызвал.