QuickTip – Query Block Mode

Exchange 2010 SP1 introduced the concept of block mode or granular replication.  This minimised the time taken for transactions on the active node to be replicated to passive nodes.  Since the feature is enabled by default and is self-managing, there is a good chance that you are benefiting from it without being fully aware of it.

See also understanding High Availability and Site Resilience

If you do have to troubleshoot it, then there are really only two places to get the status on a given database copy; looking at perfmon or combing through EventIDs in the application event log.

Below are a couple of examples to retrieve this through WMI and then PowerShell's Get-Counter cmdlet.

Ensure that you replace the ExchangeServerNameHere with the correct name.


Get-WMIObject -ComputerName  ExchangeServerNameHere   "\Win32_PerfRaw\Data_MSExchangeReplication_MSExchangeReplication | Where-Object {$_.ContinuousReplicationBlockModeActive -eq "1"} | Where-Object {$_.name -ne "_total"} |Format-table Name, ContinuousReplicationBlockModeActive –AutoSize


Continuous Replication Block Mode is only valid for passive DB copies and is always 0 for active DB copies. So, always use individual server name and not the name of the DAG itself:

Get-Counter -ComputerName ExchangeServerNameHere -Counter "MSExchange Replication(*)\Continuous Replication - block mode Active"


Quick Example

In the environment below there are two mailbox servers and two databases with a copy on each server.

Database mailbox database 0974162657 is mounted (active) on server Exch-2013-1.

Mailbox Database Copy Layout - Note That Database 0974162657 Is Active On Server Exch-2013-1

Note that mailbox database 0974162657 has a value of 0 on server Exch-2013-1.  The other database has a value of 1 to indicate that block mode is active.

Verifying Continuous Replication Block Mode Status





Rhoderick Milne [MSFT]

Leave a Reply

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