What is the recommended process of upgrading Availability Groups with one Sync Replica from SQL 2014 to 2016?

My understanding is that in-place upgrades are not really liked among database professionals. Is there a way to avoid in-place upgrades in Availability Groups? Is there a possibility to join a 2016 server into an existing 2014 availability group and to failover there, then "kill" one of the other instances and upgrade it? (e.g. by removing/re-installing SQL side-by-side on the same host)

Are there any other upgrade scenarios that we should consider?

The ideal solution would be that we always have 2 online replicas, and that we don't need to do any in-place upgrades.


The short answer is yes, much the same as when you mirror from a lower version to a higher version. Make sure you do not have the 2016 as readable so it's not trying to upgrade the database version. That said I haven't tried this, just going on how log shipping/mirroring work.

If it works it is only supported doing this as a means to upgrade, leaving 2014 replicating to a 2016 replica for extended periods of time is not going to be supported by MSFT if you hit an issue.

  • Thanks. I actually remembered that I have 2014 + 2016 in the LAB, so I went ahead and tried this out. Indeed you can join both into the same availability group. Once you failover to the 2016 node, the database gets upgraded and does not sync with the 2014 server(s) anymore. Thanks! – MichelZ Jun 29 '16 at 13:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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