Exchange Mailbox Database Log Copy and Replay Monitoring

The design of the latest versions of On Premises Exchange server has been more and more close to the Cloud version. One of the major changes was the introduction of the Database Availability Groups, that are similar to the SQL server availability groups in concept and allow us to have more than one copies of a mailbox database.

This increases the availability of the mailbox service but introduces cost for the required storage.

Although storage is cheap these days, there's no need to invest much in it for Exchange since the system will recover from a failed disk (always talking about the volumes holding the database files).

However, you should always plan the hardware and system requirements using the Exchange Requirements Calculator.

A hardware, software or network event may lead to missed logs between the database copies and result in copy and/or replay queue length. Depending on the time taken to resolve the issue and restore the connectivity, you may have to resume the mailbox database copy, reseed it or most probably do nothing.

We do however need a way to monitor the copy and replay queue length!

The latest version of the CPolydorou.Exchange module - that's 2.7.0 - contains the "Monitor-MailboxDatabaseCopyLogs" function that can show the progress of the log copy and replay processes.

It can be executed against a server or a singe database and shows the number of items in each queue and the items that have been processed since the last check. Let's take a look on some examples.

Here, we monitor the logs for the server "Exchange2013A":

[PS] C:\> Monitor-MailboxDatabaseCopyLogs -Server Exchange2013A | ft

TimeStamp            LogsToCopy LogsToReplay LogCopyRate LogReplayRate
---------            ---------- ------------ ----------- -------------
4/18/2018 1:39:51 PM 35         27           -29         17
4/18/2018 1:40:00 PM 31         12           4           15
4/18/2018 1:40:09 PM 30         11           1           1
4/18/2018 1:40:18 PM 29         22           1           -11
4/18/2018 1:40:27 PM 38         34           -9          -12
4/18/2018 1:40:36 PM 34         25           4           9
4/18/2018 1:40:43 PM 14         40           20          -15
4/18/2018 1:40:52 PM 7          21           7           19
4/18/2018 1:41:01 PM 0          4            7           17
4/18/2018 1:41:10 PM 0          0            0           4
4/18/2018 1:41:19 PM 0          0            0           0

[PS] C:\>

and here we monitor the logs of the database "IT":

[PS] C:\>Monitor-MailboxDatabaseCopyLogs -Database "IT" -Interval 4 | ft

TimeStamp            LogsToCopy LogsToReplay LogCopyRate LogReplayRate
---------            ---------- ------------ ----------- -------------
4/18/2018 1:54:01 PM 8          105          0           -105
4/18/2018 1:54:05 PM 17         105          -9          0
4/18/2018 1:54:09 PM 13         106          4           -1
4/18/2018 1:54:12 PM 7          113          6           -7
4/18/2018 1:54:16 PM 3          118          4           -5
4/18/2018 1:54:20 PM 0          85           3           33
4/18/2018 1:54:24 PM 0          24           0           61
4/18/2018 1:54:28 PM 0          3            0           21
4/18/2018 1:54:32 PM 0          0            0           3
4/18/2018 1:54:35 PM 0          0            0           0

[PS] C:\>

I hope you'll find it useful!

Popular posts from this blog

Domain Controller Machine Password Reset

Managing Active Directory User Certificates using PowerShell

Configuring a Certificate on Exchange Receive Connector