Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2

Topic Last Modified: 2012-07-13

Shadow redundancy in Microsoft Exchange Server 2010 provides a high availability mechanism for messages for the entire time that the messages are in transit. To learn more about shadow redundancy, see Understanding Shadow Redundancy. You can use the Exchange Management Shell to configure shadow redundancy in your organization.

Looking for other management tasks related to transport servers? Check out Managing Transport Servers.

What Do You Want to Do?

Use the Shell to enable or disable shadow redundancy

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Shadow redundancy" entry in the Transport Permissions topic.

Note:
You can't use the Exchange Management Console to enable or disable shadow redundancy.

Use the ShadowRedundancyEnabled parameter of the Set-TransportConfig cmdlet to enable or disable shadow redundancy in your organization. By default, shadow redundancy is enabled.

This example enables shadow redundancy for your organization.

Copy Code
Set-TransportConfig -ShadowRedundancyEnabled $true

For detailed syntax and parameter information, see Set-TransportConfig.

Use the Shell to configure the shadow redundancy heartbeat

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Shadow redundancy" entry in the Transport Permissions topic.

Note:
You can't use the EMC to configure the shadow redundancy heartbeat.

Use the ShadowHearbeatTimeoutInterval and ShadowHearbeatRetryCount parameters of the Set-TransportConfig cmdlet to configure the shadow redundancy heartbeat in your organization. The default value for the shadow redundancy time-out interval is 5 minutes in the release to manufacturing (RTM) version of Exchange 2010, and 15 minutes in Exchange 2010 Service Pack 1 (SP1) or later. The default value for the shadow redundancy heartbeat retry count is 3 in Exchange 2010 RTM, and 12 in Exchange 2010 SP1 or later. On each transport server running Exchange 2010, the shadow redundancy heartbeat is used to determine the availability of the other Exchange 2010 transport servers. For more information, see "Heartbeat" in Understanding Shadow Redundancy.

Assume that, because there are unreliable network connections between your Active Directory sites, you want to increase the total time transport servers wait before you determine that a remote server is unavailable. To do this, you want to have the Hub Transport servers wait 30 minutes between connection attempts before determining that a server is unavailable. As a result, you increase the maximum time for detecting a failure from the default value of 3 hours (15-minute time-out interval × 12 retries) to 6 hours (30-minute time-out interval × 12 retries). In the following example, the shadow redundancy heartbeat configuration is revised to increase the heartbeat time-out interval to 30 minutes.

Copy Code
Set-TransportConfig -ShadowHeartbeatTimeoutInterval 00:30:00

For detailed syntax and parameter information, see Set-TransportConfig.

Use the Shell to configure the maximum age for shadow messages

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Shadow redundancy" entry in the Transport Permissions topic.

Note:
You can't use the EMC to configure the maximum age for shadow messages.

Use the ShadowMessageAutoDiscardInterval parameter of the Set-TransportConfig cmdlet to configure the maximum age for shadow messages in your organization. By default, shadow messages are discarded automatically after two days.

Assume that due to the hardware constraints on your servers, you don't want to retain shadow copies for messages that are delayed. This example reduces the retention period of shadow messages to four hours for your organization.

Copy Code
Set-TransportConfig -ShadowMessageAutoDiscardInterval 04:00:00
Note:
When a message expires, the primary server queues a discard event for that message, and the shadow server discards the shadow message when it receives the discard notification. The value you configure for the ShadowMessageAutoDiscardInterval parameter should be equal to or lower than the message expiration time-out interval configured on your transport servers.

For detailed syntax and parameter information, see Set-TransportConfig.

Use the Shell to configure the maximum acknowledgement delay on a Receive connector

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Receive connectors" entry in the Transport Permissions topic.

Note:
You can't use the EMC to configure the maximum acknowledgement delay on a Receive connector.

Use the MaxAcknowledgementDelay parameter of the Set-ReceiveConnector cmdlet to configure how long the Receive connector delays SMTP acknowledgement when receiving messages from systems that don't support shadow redundancy. By default, Receive connectors delay acknowledgement up to 30 seconds. For more information, see "Delayed Acknowledgement" in Understanding Shadow Redundancy.

Example 1

Assume that you have a proprietary application that sends SMTP messages by using your Exchange infrastructure. If the rate of message delivery for messages that are generated by this application is more important than the reliability of message delivery, you may want to disable delayed acknowledgement on the Receive connector that receives messages from this application. This example sets the maximum acknowledgement delay to zero (0) on the Receive connector Custom App Receive Connector.

Copy Code
Set-ReceiveConnector "Custom App Receive Connector" -MaxAcknowledgementDelay 0

For detailed syntax and parameter information, see Set-ReceiveConnector.

Example 2

Assume that all messages are typically delivered within 20 seconds in your environment. However, because of performance requirements, you don't want to delay acknowledgement more than 15 seconds for messages received from the Internet. After you analyze the message flow, you conclude that 95 percent of messages are delivered within the 15-second interval. This example configures the Receive connector from the Internet to delay acknowledgement for only 15 seconds. In this scenario, your environment provides shadow redundancy for 95 percent of messages received from the Internet.

Copy Code
Set-ReceiveConnector "From the Internet" -MaxAcknowledgementDelay 00:00:15.

For detailed syntax and parameter information, see Set-ReceiveConnector.

Enable Shadow Redundancy Promotion

To complete this procedure, you must have local administrator permissions on the Hub Transport server.

  1. Edit the Edgetransport.exe.config file. By default, this file is located in the C:\Program Files\Microsoft\Exchange Server\V14\Bin directory.

  2. In the Edgetransport.exe.config file, change the shadowredundancypromotionenabled key to true, and then save the changes.

  3. Restart the Microsoft Exchange Transport service (MSExchangeTransport.exe).

For more information, see the "Delayed Acknowledgement" section in Understanding Shadow Redundancy.