XACT_ABORT and Transaction
Specifies whether SQL Server automatically rolls back the current transaction when a Transact-SQL statement raises a run-time error. The THROW statement honors SET XACT_ABORT. RAISERROR does not. New applications should use THROW instead of RAISERROR. When SET XACT_ABORT is ON, if a Transact-SQL statement raises a run-time error, the entire transaction is terminated and rolled... » read more