Upgrade Assistant guides you through the steps required to create a test workload on an instance of SQL Server ..., upgrade the database to a later version, and replay that same workload to identify differences in behavior, if any. (1)
Upgrade Advisor analyzes the objects in your SQL Server database, and generates a report that identifies issues to address to ensure a successful upgrade. Typical issues are deprecated or changed TSQL syntax and deprecated SQL Server features that your application is using. (2)
Note that many of the issues that the Upgrade Advisor finds can be detoured by setting the COMPATABILITY LEVEL to an earlier version. (2)
It is possible to create a new SQL Server and Detach databases from one version and Attach them to the new version. In many cases this can be acheived without enabling any new functionality. i.e. the new database remains compatible with the old database meaning the behaviour of the database will not change. However it is recommended to schedule in a separate step to increase the compatibility level in order to avoid problems with later upgrades.
For full information see: https://docs.microsoft.com/en-us/sql/relational-databases/databases/upgrade-a-database-using-detach-and-attach-transact-sql?view=sql-server-ver15 https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level?view=sql-server-ver15Verify that source version to target is a supported upgrade path (using the table from the In-Place Upgrades section above)
On your AG, disable or suspend automatic failover to avoid unintended failovers during the upgrade.
Upgrade the secondary replicas first (one at a time) to your target version.
Failover the AG so that the new primary is on the target version.
Upgrade the old primary, now a secondary) to the target version.
Restore your failover configuration (failover mode, etc.).
Test everything.