I have a 3 node cluster running on Windows Server 2012 R2. Two nodes for the databases, the 3rd node is an Always On db used for reporting. I have new hardware built running the same OS, but will need to upgrade the SQL Server version from 2012 to 2016. All servers will utilize the same SAN.

Should I stand up a new cluster running SQL Server 2016, restore the database to it, going through all the renaming and such? Or can I do a type of rolling upgrade where I join the new servers to the existing cluster (I guess I would need to install 2012 on them first and then kick off the upgrade to 2016 on them) once I fail over to the new servers, I would evict the old nodes without upgrading them?

This seems like it would have the least amount of downtime. But I'm not sure if I can easily rejoin the old servers to the cluster and rollback to the 2012 instance if there are problems with the 2016 instance. Most whitepapers I see revolve around OS changes, not same OS, but new SQL versions.

  • it is a 2 node FCI with an AG to to another node that we do reporting on. Commented Feb 24, 2017 at 13:38

1 Answer 1


You will encounter no problem during the migration because even if the database coming from SQL Server 2012 pass to SQL Server 2016 the Compatibility Level stays the same (110).

After the upgrade use Data Migration Assistant and check if your database is compatible and can be actually migrated to SQL Server 2016 (130).

SQL Server 2016 will hold a database coming from SQL Server 2012 without problem. Changing the Compatibility Level is the trick.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.