Kesalahan yang Anda dapatkan adalah karena Anda melakukan roll back tanpa melakukan transaksi terbuka (Anda telah sudah berkomitmen atau dibatalkan). Pertimbangkan untuk membersihkan struktur proc tersimpan Anda, coba jalankan seluruh proc tersimpan sebagai satu transaksi, lalu putar kembali jika terjadi kesalahan. Anda juga dapat menguji apakah rollback diperlukan dengan memeriksa apakah transaksi terbuka:
BEGIN TRANSACTION;
BEGIN TRY
--execute all your stored proc code here and then commit
COMMIT;
END TRY
BEGIN CATCH
--if an exception occurs execute your rollback, also test that you have had some successful transactions
IF @@TRANCOUNT > 0 ROLLBACK;
END CATCH