У вас есть 3 варианта:
1) Увеличьте время ожидания. Возможно, вам придется увеличить его довольно высоко, и очень длительная транзакция может помешать другим использованиям данных.
2) Повысить производительность (например, добавить индексы или ЦП), чтобы соответствовать тайм-ауту. Это может оказаться невозможным, если вы перемещаете столько данных.
3) Отмените требование использовать транзакцию. Во многих случаях вы можете избежать длительной транзакции, вставив ее во временную таблицу, например, в качестве промежуточной области для одной вставки SQL (которая будет выполняться намного быстрее, чем тысячи задач).
третий вариант будет моим первым выбором в большинстве случаев.