Q: Can a Database Availability Group have a mix of Exchange Server 2013 and Exchange Server 2016 members?

A: No.

When information about Windows Server 10 began to emerge one of the interesting items was mixed-mode clusters, which will allow a rolling upgrade of the operating systems on cluster members without having to take the entire cluster offline or build an entirely new cluster. Naturally this lead to speculation that Exchange might support mixed-mode DAGs as well.

While I agree that would be a terrific feature, Microsoft has clearly stated that it is not supported to run different versions of Exchange Server within the same DAG.

Update 16/12/2015 – Microsoft has added the block to prevent this in Cumulative Update 11 for Exchange Server 2013.

The problem right now is that Exchange Server 2016 RTM has shipped without the necessary blocks to prevent a customer from adding 2013 and 2016 servers to the same DAG. Microsoft has included information in the release notes for Exchange Server 2016 to clarify this.

Mailbox servers running different versions of Exchange can be added to the same database availability group The Add-DatabaseAvailabilityGroupServer cmdlet and the Exchange Admin Center incorrectly allow an Exchange 2013 server to be added to an Exchange 2016-based database availability group (DAG), and vice versa. Exchange supports adding only Mailbox servers running the same version (Exchange 2013 versus Exchange 2016, for example) to a DAG. Additionally, the Exchange Admin Center displays both Exchange 2013 and Exchange 2016 servers in the list of servers available to add to a DAG. This could allow an administrator to inadvertently add a server running an incompatible version of Exchange to a DAG (for example, adding an Exchange 2013 server to an Exchange 2016-based DAG).

There is currently no workaround for this issue. Administrators must be diligent when adding a Mailbox server to a DAG.

So yes, it is technically possible today to do it, but it is completely unsupported to do so.

This definitely wins the award for Bug That Should Never Have Shipped in RTM.

[adrotate banner=”49″]

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Ahmad Amin

    Hello,
    I have new Exchange server 2016 CU11 as the old ones, but Windows Server 2016.
    The old Exchange 2016 CU11 is Windows Server 2012 R2.
    When Join the new server to dag, it pop up error “Server ‘DHAMOPMP-EXCH1’ has an incompatible OS Version (10.0) with Server ‘RIYMOPMP-EXCH1’ that’s running OS Version (6.3).”

  2. mike

    Paul,

    I think it also does not support mixed OS also, even though exchange versions and builds are same. In my situation, I have 2 Member DAG with Exchange 2016 CU5, I wanted to move exchange 2016 to Windows 2016, so I installed Exchange 2016 on Windows 2016, then added the Windows Clustering and joined the cluster., everything worked great, until when I tried to add DAG, it gives me error Incompatible OS Version(10.) with other server running OS version (6.3). My other servers are running Windows 2012 R2 latest build and updates.

    Is there a workaround or it just does not work? remember Exchange build and version are all same. Only one member of cluster is 2016 OS.

  3. Ozgur

    Could we make mixed DAG for Exhange 2010 SP3 CU13 and Exchange 2013 ?

  4. Xahaar

    So just making sure I understand – at this time there is no supported way of upgrading a 2013 DAG? My situation being that my production environment has a single 2013 DAG stretched across three sites and one of those sites is scheduled to close in short time. We want to maintain a 3-site topology so we’re standing up servers at another of our sites. My hope was to take this opportunity as a first step towards 2016 but that’s not an option unless I stand up a whole new DAG and move all the mailboxes over?

    1. Paul Cunningham

      Exchange hasn’t supported in-place upgrades since 2000->2003, and it is not supported to have mixed versions in a DAG (as the article says). So if you want any kind of Exchange 2016 deployment in your environment it will involve installing new servers.

  5. F21

    Of course, i was able to create DB copy from 2013 to 2016 with a second time…

    1.

    The seeding operation failed. Error: An error occurred while performing the seed operation. Error: Failed to open a log truncation context to source server ‘E2013.domain.com’. Hresult: 0xc7ff1004. Error: Error returned from an ESE function call (-1305).
    [Database: DB1, Server: E2016.elkogroup.com]

    2.

    After Resume-MailboxDatabaseCopy DB copy from E2013 created successfuly on E2016 side.

  6. F21

    The only way, i was able to transfer online archives from Exchange 2013 to Exchange 2016, was add them to the same DAG. Then Activate DB on E2016 side.. Then i tried to move Activated DB Archive mailboxes to new E2016 DB, no luck…

    Before that, i tried to move mailboxes in “supported way”. Primary mailboxes moved successfully, online archives not:

    Cannot move Mailbox Archive from Exchange 2013 to Exchange 2016. Primary mailbox moved successfully.
    Archive Move failed for all mailboxes at 95%.

    Message: Error: Unexpected error [0x2CCADE6A] while executing command ‘Update-MovedMailbox -Identity ‘User Name’ -NewArchiveMDB ‘db27584b-32d7-41cf-af99-da5cfabca7c3’ -ArchiveDomain $null -ArchiveStatus ‘None’ -PrmaryMailboxSize ‘0’ -ArhiveMailboxSize ‘0’ -PrimaryDumpsterSize ‘0’ -ArchiveDumpsterSize ‘0’ -RemoteRecipientData $null -UpdateArchiveOnly -DomainController ‘DC1.domain.com”. –> Cannot bind argument to parameter ‘RemoteRecipientData’ because it is null.

    What is RemoteRecipientData, i can’t find such attribute it ADSIEDIT ?…

    Why Exchange move process set it to $null and then warns, that it cannot be null and then failed ?…

    1. Eric Wright

      Same here. Only problem is my current archive database is in a different DAG. Trying to think of how to move these archive mailboxes without joining it to the DAG.

      1. Paul Cunningham

        I’ve moved archive mailboxes from 2013 -> 2016 with no problems. These are non-DAG servers though. If you’ve got a problem getting your moves to work I suggest opening a support ticket with Microsoft. Absolutely do not add both 2013 and 2016 servers to the same DAG.

  7. Andy

    That’s very disappointing. Firstly that this ‘bug’ slipped through and secondly because it’s not supported, even though it’s technically possible. It would have made migration from 2013 to 2016 a lot easier.

    1. Paul Cunningham

      I disagree. The frontend/namespace stuff is the trickiest part of most migrations and that *has* been made much simpler and easier with 2013->2016 scenarios.

      Mixed mode DAGs are a complexity nightmare when you really think about it. Simple mailbox moves are much better.

  8. Aravind

    @ Paul will that be shall we can add the Exchange 2016 server in the existing Exchange 2010 DAG.

    is that possible in the Exchange 2016 RTM.

    Regards,
    Aravind

    1. Paul Cunningham

      No, it is not supported to run different versions of Exchange in the same DAG.

  9. tarek Gawesh

    No support means no need

  10. Keshav

    Interesting 🙂

  11. Mike Crowley

    Oh NOES!

Leave a Reply