We are thinking about an upgrade of our Windows 2012 R2 + SQL server 2012 failover cluster and AlwaysOn availability group.
Microsoft has guidelines for the SQL upgrade and for the failover cluster upgrade. However, it is emphasized that this is a one-way AlwaysOn upgrade - once the primary is switched from SQL server 2012 to SQL Server 2016 the AlwaysOn cannot be fallen back to the old node before that node is upgraded.
We are talking about a 24/7 production system but a full test of the new server is possible only once the new server becomes the primary.
Is there any way to manage the upgrade in such a way that a rollback is still possible without loosing data for the time frame the new server was the primary sql server AND without having an extensive downtime?
The SQL servers are virtual machines. We have two new virtual SQL servers setup with Windows Server 2016 and SQL Server 2016. So the original servers don't need to be changed during the upgrade.
Still as MS writes that a failover from higher SQL server to lower is not possible, then this sounds like not the option for us.
If there is no documented and safe way to rollback the changes then we would stay on the old servers for another year or two and wait for a downtime window in the production, support for Windows 2012 R2 ends in 2023, so we have a little more time.