De foutmelding die u krijgt, is dat u terugdraait zonder een openstaande transactie te hebben (u hebt al gepleegd of teruggedraaid). Overweeg om de structuur van je opgeslagen proces op te schonen, probeer je hele opgeslagen proces als één transactie uit te voeren en terug te draaien als er een fout optreedt. U kunt ook testen of een terugdraaiing vereist is door te controleren of een transactie open is:
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