Skip to main content

Standby Continuous Replication (Part I)

One of the most interesting features of Exchange Service Pack 1 (in the time of writing still in Beta) is probably Standby Continuous Replication (SCR). In RTM version of Exchange Server 2007 Microsoft introduced Local Continuous Replication and Cluster Continuous Replication which are variations of SQL Server's Log shipping feature.

To enable more disaster-recovery situations/possibilities Microsoft introduced Standby Continuous Replication in its Service Pack 1 for Exchange Server 2007.

Characteristics that are distinguishing SRC from LCR and CCR (from Exchange Server SP1 Help):

SCR supports multiple targets per storage group. LCR and CCR support only one replication target per storage group (the passive copy).

SCR includes a built-in delay for replay activity, and allows enables an administrator to specify an additional delay. This is useful in a variety of scenarios. For example, in the event of logical corruption of an active database, the built-in and additional admin-configured delay could be used to prevent logical corruption of an SCR target database.

In the RTM version of Exchange 2007, rules are enforced so that in a continuous replication environment a log file is not deleted unless and until it has been backed up and replayed into the copy of the database. This rule is modified when using SCR. SCR (which introduces the concept of multiple database copies) allows log files to be truncated at the SCR source as soon as they are inspected by all SCR target machines. Log truncation at the SCR source server does not wait till all logs have been replayed into all SCR targets because SCR target copies can configured with large log replay lag times.

Unlike CCR and LCR, you cannot back up an SCR copy. When using SCR, the database headers for SCR copies are updated, and the log files are truncated, when supported backups are taken against the source storage group (or, in the case of LCR and CCR, when backups are taken against either the active or passive copies of the source storage group).

So, if you want to enable "log shipping" for one of Exchange's Storage Groups in your organization you need to go through one command and some prerequisites :)

Storage Group you want to "replicate" to the other Exchange server is on the server which is called Source server and can be:

  • Standalone mailbox server (with or without LCR enabled)
  • Clustered mailbox server in a single copy cluster
  • Clustered mailbox server in a CCR environment

The server where you want to replicate logs to is called target server. It can be one of the following:

  • A standalone mailbox server (without LCR enabled for any storage groups)
  • A node in a failover cluster where the Mailbox role is installed, but no clustered mailbox server has been configured in the cluster.

I will test SCR on clusters some other time and post it on my blog. I tested some of the possibilities already but I am not "satisfied" with results. I will post my discoveries on this later.

To enable Standby Continuous Replication you must run following command:

enable-storageGroupCopy BYPASS\WISHTOCOPYSG -StandByMachineName SCR -ReplayLagTime 0.0:0:0

There is a new parameter -StandByMachineName for enable-StorageGroupCopy command. This parameter is crucial and actually enables Standby Continuous Replication. I will explain other parameters in the second part of the SCR.

NOTE: If your logs and database on the source server reside on drive X:\ and drive Y:\ respectively, than you need to have drive X:\ and drive Y:\ on the target server too.

There is one error I got when I enabled SCR in my test environment. EventID 2074 from MSExchangeRepl source.

SCR enables share on Storage Group log folder and if this share is not created, as in my case, log shipping cannot start. So what I did is I copied 04d2dd45-743b-49c2-ab07-b87126f5d27e$ part of the error and created the share with that name on the source server myself.


Share permissions on Storage group log folder:

  • Exchange Servers -Read
Security permissions on Storage Group log folder:
  • Exchange Servers - Read

 

Reference articles:

  • Scott Schnoll, Microsoft's Senior Technical Writer, posted video series of SCR on MS Exchange Team blog. You can watch video series here.
  • To read more about Standby Continuous Replication click here.

Comments

Popular posts from this blog

Error "<#5.5.2 smtp;554 5.5.2 Invalid data in message> #SMTP#" when you send attachment in your mail

Some users were receiving error <#5.5.2 smtp;554 5.5.2 Invalid data in message> #SMTP# when they sent message with attachment. The problem is when attached document name is longer than 50 characters. Some Firewalls have header size restriction and that limit blocks this messages to be sent. To correct this, change header limit on affected Firewall or shorten the name of the document you are sending (which is probably not good permanent solution).******
Update #1: Default header size limit in Exchange 2007 is 64K.Update #2: It might be the SMTP version problem. Mail is rejected with CONTENT-DISPOSITION error (overly long message header field for CONTENT-DISPOSITION) but not for all SMTP servers (same mail sent through different SMTP servers). If you send mail with attachment that has name longer than 50 characters from Exchange 2007 directly through DNS you may encounter this error, but if you send same mail from Exchange 2007 through smart host (other than Exchange) mail is d…

Change SMTP port 25 in Exchange 2007, 2010

For some reason you might want to change default SMTP port number 25 Exchange 2007 is using. Exchange 2007 uses RECEIVE AND SEND connectors, one for receiving mails and other for sending mails (obviously ;)
So you need to change ports on those connectors. I will not say those two, because you might be using more than two.
You change Receive connector port by opening the connector properties in Exchange Management Console --> Hub Transport --> RECEIVECONNECTORNAME --> Properties --> Network --> Local IP Addresses (Edit Receive Connector Binding)
Just to clarify what "Local IP Addresses" and "Remote Servers" are (from Exchange 2007 help), because I find it little bit confusing: Use these local IP Addresses to receive mail Use this list to specify the IP addresses and port numbers on which this Receive connector listens for incoming mail. Receive mail from remote servers which have these IP addresses Use this list to specify the remote IP address range fr…

The Windows component Server-Gui-Mgmt-Infra isn't installed on this computer and needs to be installed before Exchange setup

You get this error "The Windows component Server-Gui-Mgmt-Infra isn't installed on this computer and needs to be installed before Exchange setup" when you try to install Exchange 2016 on Windows 2016 server. Exchange 2016 pre CU3 does not support Windows 2016, therefore you need to download Exchange 2016 CU3, which is in fact full copy of Exchange 2016 server in order to install it on Windows 2016 machine.