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
So when you run this command — how can you show the progress?
Both servers are set to ‘unrestricted’ for the activation policy
To clarify, both servers have been set to ‘unrestricted’ for several weeks, but the event 4374 continues to be generated.
What does event ID 4374 say?
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.
“Server ‘gw01.madixinc.com’ component (HighAvailability) state is offline.”
That’s what you should look into.
Here’s an article on how to check server component states.
https://www.practical365.com/exchange-server/server-component-states-cumulative-update-installation/
See also: https://social.technet.microsoft.com/Forums/exchange/en-US/937528a4-0c0e-4b27-9e37-0a50ff44df6c/exchange-2016-cu5-high-availability-issue?forum=Exch2016HADR
…sounds like a CU5 issue…
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?
It could be that setting, or it could be your activation policies.
https://www.practical365.com/using-activation-policies-to-prevent-database-copies-mounting-in-other-sites/
Grate! Thank you!