Theo kinh nghiệm của tôi, bất kỳ lỗi nào mắc phải trong một lần thử bắt trong trình kích hoạt sẽ khôi phục toàn bộ giao dịch; bạn có thể sử dụng một giao dịch tiết kiệm. Tôi nghĩ bạn cần xem xét điều gì đang xảy ra trong "Some more sql" và xác định xem bạn có thể viết câu lệnh case / if xung quanh nó để ngăn lỗi không.
Những gì bạn có thể làm tùy thuộc vào những gì bạn đang làm là sử dụng lưu giao dịch và nắm bắt thông tin đó
Trong mã của bạn một cái gì đó như thế này
SAVE TRANSACTION BeforeUpdate;
BEGIN TRY
--Some More SQL
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION BeforeUpdate;
return
END CATCH