При использовании опции "Заключать скрипт наката в блок START TRANSACTION;... COMMIT TRANSACTION;" в случае возникновения ошибки в скрипте транзакция остается открытой и ее необходимо откатывать.
Предложение сделать это аналогично с опцией "Печатать CONSTRAINT и IDENTITY в DO блоке" - перехватить ошибку, вызвать ROLLBACK & RAISE