Our systems suddenly started failing on:
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements.
There was no service pack or other installation changes and the data has not changed in nature.
It is a legacy system with no documentation with nested stored procedures and triggers, some of which have XACT_ABORT ON and IF @@TRANCOUNT > 0 ROLLBACK.
In order to make a temporary fix, I want to ignore the error and carry on through the procedure but it is not picked up by the CATCH.
Is there any way I can catch and handle this error? Is there any reason that badly written nested transactions could start behaving differently? We have checked connections defaults have not been changed.
Microsoft SQL Server 2012 - 11.0.5343.0 (X64) Standard Edition (64-bit) on Windows NT 6.3 (Build 9600: ) (Hypervisor)