Updating Exchange 2010 DAG Members

With all the (re-)releases of rollups, the question might rise on how to perform a proper up or downgrade of all DAG configuration members.

Basically, the procedure is straightforward and should be followed per DAG member:

  1. Appoint (next) DAG member;
  2. Move away all active copies on that DAG member;
  3. Prevent copies from activating on that DAG member;
  4. Perform maintenance, e.g. down or upgrade DAG member;
  5. Enable possible activation on that DAG member again;
  6. Optionally redistribute database copies.

Note that in a DAG configuration with 2 members, you need to be aware that during maintenance you have a temporary situation with no fail-over options. If that’s undesirable, consider implementing a 3rd DAG member.

To make the above procedure  easier and automated regarding moves and activation (un)blocking, additional scripts are available since SP1 for Exchange 2010. These scripts are located in the Scripts folder, below the Exchange installation folder. By default the location of the scripts will be C:\Program Files\Microsoft\Exchange Server\v14\Scripts.

Utilizing them, the procedure is quite easy as you can see below. Note that the example uses a DAG named DAG1 with nodes ex2010a and ex2010b as members. They both host 2 databases, ex2010mdb1 and ex2010mdb2; both host 1 active copy and a passive copy of the other database.

  1. Appoint (next) DAG member, e.g. ex2010a;
  2. Run StartDagServerMaintenance.ps1 targeting that DAG member, e.g.:
    .\StartDagServerMaintenance.ps1 –server ex2010a

    image
  3. Perform maintenance;
  4. Run StopDagServerMaintenance.ps1 targeting that DAG member, e.g.:
    .\StopDagServerMaintenance.ps1 –server ex2010a
  5. Repeat steps 2-3 for the other DAG member(s):image
  6. Optionally run RedistributeActiveDatabases.ps1 for the DAG, e.g.:
    .\RedistributeActiveDatabases.ps1 –DagName DAG1 –BalanceDBsByActivationPreference –Confirm:$false

    image

Be advised that when upgrading on major levels (RTM to SP1 or SP1 to SP2), you can’t move a database to a lower level host. This means that when upgrading a node from SP1 to SP2 and moving a database to that SP2 node in the process, you can’t move that database to any SP1 nodes in the DAG. Keep this in mind when planning your upgrade, because it will impact the availability level by limiting your fallback options, albeit temporarily.

36 thoughts on “Updating Exchange 2010 DAG Members

  1. Get the following error when trying to run the script:
    The following objects are hosted by ‘ex-n2′, before attempting to move them off:
    (Database=’N2-DB01′, Reason=’Copy is critical for redundancy according to Red Alert Script (Database=’N1-DB01′, Reason=’Copy is critical for redundancy according to Red Alert script’)

    Yes, it is a two member DAG, but all databases show alright in EMC

    Like

    • That’s no error, that’s an informative message. It shows which databases are active on the host you’re putting into “maintenance mode” and which have only 1 copy elsewhere. Suppose you have nodeA, nodeB and nodeC. NodeA..C host dbA and dbB is only hosted on NodeA and NodeB. When you put NodeA in maintenance mode, the script warns you that you’ll have only 1 copy of DbB (since it’ll be blocked for NodeA during maintenance and in case disaster strikes on NodeA).

      Like

    • What does Get-MailboxDatabaseCopyStatus * report before and after? It should show all databases as mounted on other hosts and ‘healthy’ on the server you’re putting into maintenance. If it did it’s job without warnings or did nothing, it doesn’t generate output.

      Like

  2. Pingback: EighTwOne (821)

  3. Pingback: Exchange Server 2010 SP 1: Rollup 4 « Hans Brender's Blog

  4. Pingback: Exchange 2010 SP1 Rollup 4 v2 « EighTwOne (821)

  5. Pingback: Exchange 2010 SP1 Update Rollup 5 « EighTwOne (821)

  6. Pingback: Exchange 2010 SP1 Update Rollup 5 « msexchangeanywhere

  7. Pingback: Exchange 2010 SP1 Update Rollup 5 « msexchangeanywhere

  8. Pingback: Exchange 2010 SP1 Update Rollup 6 « EighTwOne (821)

  9. Pingback: Exchange 2010 SP2 RTM « EighTwOne (821)

  10. Pingback: Exchange 2010 SP2 RTM « EighTwOne (821)

  11. Pingback: Exchange 2010 SP1 Rollup 7 | EighTwOne (821)

  12. Pingback: Exchange 2010 SP2 Rollup 4 | EighTwOne (821)

  13. Pingback: Exchange 2010 SP2 Rollup 5 | EighTwOne (821)

  14. Pingback: Exchange 2010 SP2 Rollup 5 v2 | EighTwOne (821)

  15. Pingback: Exchange 2010 SP2 Rollup 6 | EighTwOne (821)

  16. Pingback: Exchange 2010 SP3 RTM | EighTwOne (821)

  17. Pingback: Exchange 2010 SP3 | EighTwOne (821)

  18. Pingback: Exchange 2010 SP3 Rollup 1 | EighTwOne (821)

  19. Pingback: Exchange 2010 SP3 Rollup 1 is released | nethop

  20. Pingback: Exchange 2010 SP3 Rollup 2 & SP2 RU7 | EighTwOne (821)

  21. Pingback: Exchange 2010 SP3 Rollup 2 – Bienvenido ….. o no. | masrobeznoquenunca

  22. Pingback: Exchange 2010 SP3 Rollup 3 | EighTwOne (821)

  23. Pingback: Exchange 2010 SP3 Rollup 5 | EighTwOne (821)

  24. Pingback: Exchange 2010 SP3 Rollup 6 | EighTwOne (821)

  25. Pingback: Exchange 2010 SP3 Rollup 7 | EighTwOne (821)

  26. Pingback: Exchange 2010 SP3 Rollup 8 | EighTwOne (821)

  27. Pingback: Exchange 2010 SP3 Rollup 8v2 | EighTwOne (821)

  28. Pingback: Exchange 2010 SP3 Rollup 9 | EighTwOne (821)

  29. Pingback: Exchange 2010 SP3 RU10 & Exchange 2007 SP3 RU17 | EighTwOne (821)

  30. Pingback: Exchange 2010 SP3 RU11 & Exchange 2013 CU10 | EighTwOne (821)

  31. Pingback: Exchange 2010 SP3 RU12 & Exchange 2007 SP3 RU18 | EighTwOne (821)

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.