• Most likely in the first environment the conditions that result in the execution of the branch with the ROLLBACK are not being met, while in the second environment those conditions are being met.

    Assuming your TRY...CATCH is attempting to ROLLBACK on some errors, then the second environment is encountering errors that the first environment does not.

    I'd first figure out why the second environment is hitting errors that the first is not, but long-term you'll need to handle the errors differently if you want to avoid this.

    Cheers!