One of the steps when applying updates to Exchange 2013 servers that are members of a database availability group is to set a property called DatabaseCopyActivationDisabledAndMoveNow to $true.

For example:

[PS] C:\>Set-MailboxServer sydex1 -DatabaseCopyActivationDisabledAndMoveNow $true

So what actually happens when you do that?

As TechNet explains:

The DatabaseCopyActivationDisabledAndMoveNow parameter specifies whether to prevent databases from being mounted on this server if there are other healthy copies of the databases on other servers. It will also immediately move any mounted databases on the server to other servers if copies exist and are healthy. Setting this parameter won’t cause databases to move to a server that has the DatabaseCopyAutoActivationPolicy parameter set to Blocked.

So the first thing that happens is any active mailbox database copies on the server are moved to another DAG member, as long as:

  • Another healthy copy exists to activate
  • The DAG member that is hosting the copy does not have an auto activation policy of “Blocked”

Then what? Well, the DatabaseCopyActivationDisabledAndMoveNow property doesn’t prevent database copies being activated on that server again. But if you activate one you’ll see a message like this:

[PS] C:\>Move-ActiveMailboxDatabase -Identity DB01 -ActivateOnServer SYDEX1
WARNING: Server "SYDEX1.exchange2013demo.com" is enabled for DatabaseCopyActivationDisabledAndMoveNow. Moving databases
 to such servers may be ineffective because the system will automatically attempt to move again as soon as a healthy
copy is detected.

In my tests it took only a few minutes for the activate database copy to be moved elsewhere again.

Hopefully that makes it clearer why we perform that step during Exchange 2013 maintenance, and why it is important at the end of the maintenance to set the property back to $false.

[PS] C:\>Set-MailboxServer SYDEX1 -DatabaseCopyActivationDisabledAndMoveNow $false

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. Keith

    So when you run this command — how can you show the progress?

  2. meetoo

    Both servers are set to ‘unrestricted’ for the activation policy

    1. meetoo

      To clarify, both servers have been set to ‘unrestricted’ for several weeks, but the event 4374 continues to be generated.

        1. Mike Taggart

          I’m getting the same 4374 event ID after updating our 2 Exchange 2016 servers to CU5. Here’s what we see for all of our databases. The weird thing is, all of the databases are fine (healthy) and we can swap them back and forth between the 2 servers in the DAG. We get these notifications every 15 minutes.

          Event Type: Error
          Event Source: MSExchangeRepl
          Event Category: Service
          Event ID: 4374
          Date: 7/3/2017
          Time: 10:53:10 AM
          User: N/A
          Computer: tr01.madixinc.com
          Description:
          Database availability health check failed.
          Database copy: Standard Mail Store
          Redundancy count: 1

          Error: There were database availability check failures for database ‘Standard Mail Store’ that may be lowering its availability. Availability Count: 1. Expected Availability Count: 2. Detailed error(s):

          GW01:
          Server ‘gw01.madixinc.com’ component (HighAvailability) state is offline. If you need to activate databases copies on this server, you can use Set-ServerComponentState -Component ‘HighAvailability’ -State ‘Active’ and retry Move-ActiveMailboxDatabase.

          ================
          Full Copy Status
          ================

          —————-
          Database Copy : Standard Mail Store\tr01
          —————-
          WorkerProcessId : 11464
          ActiveDatabaseCopy : TR01
          ActivationPreference : 1
          CopyStatus : Mounted
          Viable : False
          ActivationSuspended : False
          ErrorEventId : 0
          LastStatusTransitionTime : 1/1/0001 12:00:00 AM
          StatusRetrievedTime : 7/3/2017 3:52:48 PM
          InstanceStartTime : 7/3/2017 12:27:07 AM
          LowestLogPresent : 737404
          LastLogInspected : 0
          LastLogReplayed : 0
          LastLogCopied : 0
          LastLogGenerated : 737721
          LastLogGeneratedTime : 1/1/0001 12:00:00 AM
          LastInspectedLogTime : 1/1/0001 12:00:00 AM
          LastReplayedLogTime : 1/1/0001 12:00:00 AM
          LastCopiedLogTime : 1/1/0001 12:00:00 AM
          LastLogInfoFromClusterTime : 7/3/2017 3:52:05 PM
          LastLogInfoFromCopierTime : 7/3/2017 3:52:48 PM
          LastLogInfoIsStale : False
          ActivationDisabledAndMoveNow : False
          AutoActivationPolicy : Unrestricted
          HAComponentOffline : False
          NodeStatus : Up
          ReplayLagEnabled : Disabled
          ReplayLagPlayDownReason : None
          LogReplaySuspendReason : None
          ReplayLagPercentage : 0
          —————-
          Database Copy : Standard Mail Store\GW01
          —————-
          WorkerProcessId : 16008
          ActiveDatabaseCopy : TR01
          ActivationPreference : 2
          CopyStatus : Healthy
          Viable : True
          ActivationSuspended : False
          ErrorEventId : 0
          LastStatusTransitionTime : 7/3/2017 12:27:08 AM
          StatusRetrievedTime : 7/3/2017 3:52:49 PM
          InstanceStartTime : 7/3/2017 12:27:07 AM
          LowestLogPresent : 737404
          LastLogInspected : 737721
          LastLogReplayed : 737721
          LastLogCopied : 737721
          LastLogGenerated : 737721
          LastLogGeneratedTime : 7/3/2017 3:52:49 PM
          LastInspectedLogTime : 7/3/2017 3:52:32 PM
          LastReplayedLogTime : 7/3/2017 3:52:32 PM
          LastCopiedLogTime : 7/3/2017 3:52:32 PM
          LastLogInfoFromClusterTime : 7/3/2017 3:52:05 PM
          LastLogInfoFromCopierTime : 7/3/2017 3:52:39 PM
          LastLogInfoIsStale : False
          ActivationDisabledAndMoveNow : False
          AutoActivationPolicy : Unrestricted
          HAComponentOffline : False
          NodeStatus : Up
          ReplayLagEnabled : Disabled
          ReplayLagPlayDownReason : None
          LogReplaySuspendReason : None
          ReplayLagPercentage : 0

          For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

  3. meetoo

    Could you explain what setting it to ‘false’ means?

    I am in a situation where my databases will not automatically failover (event id 4374) & I think I need to run the ‘false’ command. If that is the resolution, then which server do I run it on, the Primary DAG server or the Copy DAG server?

  4. Demeter Szabolcs

    Grate! Thank you!

Leave a Reply