How to Check Exchange Database Copy Seed Status?
This article is intended for Exchange Servers with the high availability configured for failover and replication of data. With the Database Availability Groups (DAG), you can have an active copy of the database on one server and a passive copy on another server, hosted on the same site or on another site, for business continuity or disaster recovery.
Introduction to Database Availability Groups (DAG)
In a Database Availability Group (DAG), you can have two or more nodes and there is a limit of 16 mailbox servers. All servers must be running the same Exchange Server version and all are updated to the same service level.
With the Database Availability Groups (DAG), you have an active copy and a passive copy of the database, which could be on either side. You need to ensure that the copy is fully seeded and replicated with no issues. After you setup the copy, Exchange Server synchronizes the first copy of the database which is called the first seed. This might take a considerate amount of time, depending upon the size of the database, and performance and connectivity between the Exchange Server nodes. You need to monitor that the seeding is working and to check the status of the seeding.
Let’s say that you want to view the status of a database which is not part of the Database Availability Group (DAG). For this, you need to open the Exchange Management Shell (EMS) and run the following command:
Get-MailboxDatabaseCopyStatus "*DB01" | ft -AutoSize
How to Check the Status of Seeding of Database Copy?
Once the copy of database has been added to the Database Availability Group, you need to see the status of seeding of the database. You can do this by running the below given command.
Get-MailboxDatabaseCopyStatus * | ft Name,Status,DatabaseSeedStatus
This will give information on all the databases in your Exchange Server, like data read/write performance and percentage of the process.
If you have an Exchange Server Enterprise edition installed, you can have more than five databases configured. In this case, you would need to only view specific databases which are currently seeding. You can do this by using the below command:
Get-MailboxDatabaseCopyStatus * | Where {$_.Status -eq "Seeding"} | ft Name,Status,DatabaseSeedStatus
The above command will show the databases which are currently seeding.
After the first seed is complete, re-run the Get-MailboxDatabaseCopyStatus command. It will show the active database as ‘Mounted’ and the copy as ‘Healthy’.
Get-MailboxDatabaseCopyStatus "*DB01" | ft -AutoSize
Once the first seed is complete, the Exchange Server and network between the nodes will be a little bit more relaxed as it will only synchronize the changes in the database.
To view the same information, you can also use the Exchange Admin Center (EAC).
Conclusion
You have seen above how to check the status of the database seeding. It is important that you can use Database Availability Group to ensure high availability on your Exchange Server and consistency in the data. Unfortunately, it is not always as plain sailing as you know it. Issues may arise, such as a failure in Exchange Server, hardware failure, power failure, or malicious attack. These issues would hinder the copy and the active copy of the databases.
In such cases, you can use EseUtil to try to recover the state of the database to a healthy one and get it back online. But when the database is damaged, you cannot use EseUtil to get it healthy. By using the hard recovery, you are risking a lot of data. Also, it is not guaranteed that the database state will change to a healthy shutdown, after hard recovery.
You must also take into consideration that without a working Exchange Server you cannot manage to restore the server in the least possible time. The recovery could take up a good number of hours, resources, and administrative efforts which will cause loss of business and data.