Один случай, о котором я могу подумать (и транзакции тоже не помогут), будет, если сохраненный процесс не обновит или не вставит какие-либо записи. Это не будет ошибкой, но может потребоваться для пакета служб SSIS. Возможно, вы захотите вернуть количество строк, которые были затронуты, и проверить это после.
Мы также делаем это для некоторых импортов, где число, значительно отличающееся от последнего импорта, указывает на проблему с данными. Таким образом, если мы обычно получаем 100 000 записей от клиента A в Импорте B, и вместо этого мы получаем 5000, пакет SSIS завершается сбоем, пока человек не сможет просмотреть его и увидеть, что файл плохой, или если они действительно хотели уменьшить свою рабочую силу или клиента список.
Между прочим, мы создаем две таблицы (одну с необработанными неизмененными данными, а другую используем для очистки. Сбой пакета служб SSIS не должен откатывать их, если вы хотите легко увидеть, какие были проблемы с данными. Затем вы можете сказать если данные были неверными с самого начала или каким-то образом они были потеряны или исправлены неправильно в процессе очистки. Иногда место, где регистрировалась ошибка, не является местом, где ошибка фактически произошла, и приятно видеть, как данные выглядели без изменений и после процесса изменения. Иногда у вас есть неверные данные, да (в большинстве случаев, да), но иногда у вас есть ошибка. Наличие обеих этих таблиц позволяет вам легко увидеть, какая из этих двух.
В качестве последнего шага вы можете вставить все свои процессы в таблицу журналирования и убедиться, что запись существует, прежде чем выполнять следующий шаг, если вас беспокоит потеря некоторых выполнений, которые не возвращаются в пакет.