Select Page

Exchange database health report

Exchange database health report

Exchange database health report is a great way to get notified by email when the health of your Exchange DAG databases is affected. The script will send an email notification indicating dismounted databases, and displaced ones according to the activation preference.

Exchange database health report

If you are administering Microdot Exchange environment, the first and most important thing you want to know about is the health of your Exchange databases. This might seems a natural thing to say, but the exchange database health is a very wide concept.

You might have many monitoring tools in place, like Microsoft system center operations manager, to give you indication of your overall Exchange environment health. There is nothing wrong or bad about that, but from by practical experience, using such tools is great for my data center operations team, since they will get extensive alerts and health indication about each and every component in my Exchange environment.

For me, I finish my work and leave home or for a vacation. I want a simple and easy way for notify only if the following conditions are met:

  • If any database is dismounted
  • If any database got switched over another server [database is not mounted on the optimal server based on the activation preference set]

Anything else, can be managed by my data center operations team or something. I started to work on the Exchange database health report script, that will alert me via email, if any of those conditions are met. I do not want any details log on the notification email. Only the fact that one of the above conditions is met. You have to schedule the Exchange database health report script to run every half an hour or so to get the expected outcome.

Script Features

The new version of the Exchange database health report script contains a lot of enhancements like:

  1. Exchange 2013 support and above.
  2. Reporting the current mounting server location in addition to where the DB should be mounted.
  3. Switch option to disable checking for mounting status if needed.
  4. Verbose logging.
  5. Performance enhancement.
  6. Option to run the script without Email notification option.
  7. Now you can filter databases with the InputDAG option, and you can provide a list of DAG names.

Exchange database health report

Run the script from PowerShell without SMTP email notification

Run the script from PowerShell and filter for databases on DAG1 and DAG2

Run the script from PowerShell with verbose logging and without SMTP email notification

Run the script from PowerShell without SMTP email notification. We do not want to check mounting status, only optimal DB placement

Run the script with Email report option


Exchange database health report

Download Version 3 here

Click here to get the Get-DBCopyHealth version 3 script from Microsoft TechNet Gallery.


About The Author

Ammar Hasayen

Ammar is a digital transformer, cloud architect, public speaker and blogger. He is considered a trusted advisory with the ability to quickly navigate complex multi-cultural organizations and continuously improve and motivate cross-functional teams to achieve higher productivity, collaboration, revenue gain and cross-group knowledge sharing. His contributions to the tech community helped him get awarded the Microsoft Most Valuable Professional. Ammar appears in a lot of global conferences, and he has many publications about digital transformation and next generation technologies.


  1. Sanju

    Nice work but a question and an issue….Why does it has to be run on the Exchange Server. Cant I run it where the mgmt tools are installed

    • ammar hasayen

      It is because we need to determine the command to use to pull database information.. so if the exchange server is 2010 then we will add a switch to get pre 2010 daatabases and so on and so forth.

  2. Sanju

    Thanks… Can we make a change where it can be run from a Non Exchange Server where mgmt tools are installed… thanks again


Leave a reply

Your email address will not be published. Required fields are marked *

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

Microsoft MVP


About Ammar

Digital Transformation | Microsoft MVP | Cloud Architect | Azure | Microsoft 365 |Modern Workplace | Cyber-Security | Speaker | Blogger | I Pluralsight Author| Jordan |

Speaking at Microsoft Ignite

Microsoft Ignite Speaker

My Pluralsight Course

Pin It on Pinterest