Контейнер последовательности пакетов служб SSIS завершается сбоем после выполнения задачи SQL

У меня есть пакет SSIS, который обновляет таблицу на компьютере, а затем необходимо скопировать данные на другой компьютер (сервер).

Пакет часто дает сбой из-за сбоя тайм-аута, поэтому мы придумали возможность сначала загрузить его во временную таблицу, а затем загрузить из временной в основную... Чтобы данные основной таблицы не пострадали только в если соединение не работает...

Теперь мы хотим перезапустить пакет на случай сбоя... и мы использовали контрольные точки... и параметры повторной попытки при планировании задания.

Работа работает хорошо, но у нее есть проблема. В таблице temp есть некоторые данные на случай сбоя... Теперь я хочу, чтобы пакет откатил данные с помощью выполнения задачи SQL, прежде чем запускать ее снова из точки сбоя.

Как направить задачу «Выполнение SQL» в состояние сбоя после ее успешного выполнения (при выполнении отката)... и убедиться, что пакет запускается из блока в контейнере, где произошел сбой.

Присоединение пути потока... введите здесь описание изображения


person VJAI    schedule 22.10.2014    source источник
comment
Похоже, вам нужна TRY..CATCH в вашей задаче выполнения sql. Затем используйте транзакцию отката и RAISERROR в блоке CATCH. Имеет ли это смысл? Имейте в виду, что данные вашей временной таблицы будут потеряны, когда выполнение пакета завершится.   -  person Mark Wojciechowicz    schedule 22.10.2014
comment
Контрольно-пропускные пункты вам не друг. Вам нужно будет поместить эту логику в свой пакет.   -  person billinkc    schedule 22.10.2014


Ответы (1)


Перейти на дополнительную таблицу хранения метаданных, иметь запросы на удаление каждой задачи задачи. Таким образом, вам просто нужно запустить запрос в метаданных перед выполнением задачи. Следуя этому пути, вы также можете вести журналы, а также определять автоматический повтор.

person Rangani    schedule 10.11.2014