Assuming a big database, where normal upgrade (structural changes and data upgrade) currently takes about 2-3 days (not a issue, is not done during production and about 1-2 times per year.
Currently, a backup is done, and if anything fails, backup is restored and upgrade scripts are checked for reason. We are looking into the possibility of upgrading the database inside a transaction, rollbacking the changes if anything happens.
Are there any best-practices, reasons, knowledge and/or experience that would say if this is a good idea?
Thank you