Check Exchange health mailboxes
DAG databases keep switching servers by themselves is a new feature of Exchange 2016 CU2. If you have a pre-Exchange 2016 CU2 server and it’s switching over automatically, then there is another issue. What you need to do is to check the Exchange health mailboxes. Did you already check the Exchange health mailboxes? If the health mailboxes are corrupted, then they will not work like it’s intended to do.
Table of contents
How many Exchange health mailboxes
Up to Exchange 2013 CU6, there is one health mailbox per mailbox database copy and one per CAS. Exchange 2013 CU6 changed the number of health mailboxes that are created. A health mailbox is created for every mailbox database hosted on a mailbox server (Active or Passive) and 10 health Mailboxes for every CAS role.
If you need to know the total count of the health mailboxes, run the following command.
The organization is running 2 Exchange 2016 Servers with a DAG configured. Each Exchange Server is running 12 databases. Let’s do the math:
2 Exchange Servers times 12 databases = 24 health mailboxes
2 Exchange Servers (CAS role) times 10 health mailboxes = 20 health mailboxes
Total = 44 health mailboxes
Read more: Count health mailboxes in Exchange »
Now that we have calculated the count of the health mailboxes, we can proceed further to check the health mailboxes.
Check Exchange health mailboxes
Run Exchange Management Shell as Administrator. Check the health mailboxes of all the Exchange servers in the organization. It should show like below. We did not list all the health mailboxes.
If you have more than one Exchange Server and you want to show the health mailboxes of that particular Exchange Server, run the following command.
It will list all the health mailboxes, and if you don’t see any error, all is good! If you see errors on one or more health mailboxes, it means that the health mailboxes are corrupted and in an inconsistent state.
“WARNING: The object DOMAINNAME/Microsoft Exchange System Objects/Monitoring Mailboxes/”Health_Mailbox_GUID” has been corrupted, and it’s in an inconsistent state. The following validation errors happened: WARNING: Database is mandatory or UserMailbox.”
Exchange health mailbox cleanup
To fix Exchange health mailboxes corrupted inconsistent state, we will recreate the Exchange health mailboxes in three steps and verify that they are in healthy condition. You can perform the steps for Exchange Server 2013/2016/2019.
1. Stop Exchange Health Manager Service
Stop the service Exchange Health Manager Service on all the Exchange Servers.
2. Delete Exchange health mailboxes
Open up Active Directory Users and Computers (ADUC). Make sure to enable Advanced Features. If you don’t, you can’t see the container Microsoft Exchange System Objects.
Expand the container Microsoft Exchange System Objects. Click on the sub-container Monitoring Mailboxes. Select all the health mailboxes and delete them.
If you want to delete them through Exchange Management Shell, run the following command.
3. Start Exchange Health Manager Service
Now let’s recreate the health mailboxes.
Start the service Exchange Health Manager Service on all the Exchange Servers. You can also restart the Exchange Servers.
4. Verify Exchange health mailboxes
It may take a while for all health mailboxes to be populated. Run the following command to check if all is looking good.
Keep reading: Exchange Server health check with PowerShell script »
Conclusion
It’s always essential to have the health mailboxes checked. Having all health mailboxes in a proper state is important to keep your Exchange Servers healthy. When was the last time that you checked your health mailboxes? Another great article about health mailboxes is written by Microsoft.
If you enjoyed this article, you might also like Exchange transaction logs growing rapidly. Don’t forget to follow us for more great content.