Check DAG Status

by Nuno Mota [Published on 5 Dec. 2012 / Last Updated on 5 Dec. 2012]

This tip shows two useful cmdlets that help quickly check the health of DAGs

With Exchange 2010 and Database Availability Groups [DAGs], Microsoft greatly increases high availability and resilience in Exchange. But now, it is not only important to make sure your active mailbox databases are healthy and working fine, but it is also crucial to ensure your passive databases are healthy and ready to be mounted in case of necessity.

Microsoft System Center Operations Manager does a great job monitoring Exchange, but if you simply like to check for yourself, there are many cmdlets available. Two of the most important ones and most frequently used, in my opinion are the Get-MailboxDatabaseCopyStatus and Test-ReplicationHealth cmdlets.

Get-MailboxDatabaseCopyStatus will show status information about your databases that are part of a DAG. Using the following cmdlet, you can check all the databases in all the DAGs present in your environment:

(Get-DatabaseAvailabilityGroup) | ForEach {$_.Servers | ForEach {Get-MailboxDatabaseCopyStatus -Server $_}}

Using the Test-ReplicationHealth cmdlet will allow you to check all aspects of the replication and replay status, providing you with a complete overview of a Mailbox server in a DAG. This way, administrators can proactively monitor the continuous replication and the continuous replication pipeline, the availability of the Active Manager and the health and status of the underlying cluster service, quorum and network components.

(Get-DatabaseAvailabilityGroup) | ForEach {$_.Servers | ForEach {Test-ReplicationHealth -Server $_}}

Featured Links