Microsoft KB Archive/198638

= ACC2000: How Replication Manager Determines Base Replica =

Article ID: 198638

Article Last Modified on 6/28/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition
 * Microsoft Office 2000 Developer Edition

-



This article was previously published under Q198638



Advanced: Requires expert coding, interoperability, and multiuser skills.

This article applies only to a Microsoft Access database (.mdb).



SUMMARY
Microsoft Replication Manager is a tool included with Microsoft Office 2000 Developer. An important feature of Microsoft Replication Manager is its ability to manage members of a replica set and schedule synchronizations between them.

One of the components that Microsoft Replication Manager uses to control synchronization is the Synchronizer. The Synchronizer is a program that runs in the background and allows database changes to be stored in a dropbox folder for later synchronization. This is especially useful when you are distributing your application to users with portable computers that are not always connected to the network.

When initiating synchronization between members of a replica set managed by multiple Synchronizers, each Synchronizer selects one replica that sends changes to and receives changes from a member of the replica set managed by a different Synchronizer. Likewise, when initiating a local synchronization of a replica set managed by one Synchronizer, Synchronizer selects one replica that sends changes to and receives changes from all other replicas in the set. This replica is called the "base" or "gateway" replica.

This article discusses how the Synchronizer determines which replica is designated as the base replica, and what problems may occur as a result.

NOTE: This article assumes you have previously configured Microsoft Replication Manager and are currently managing multiple members of a replica set.



MORE INFORMATION
Each Synchronizer is responsible for determining which member of the replica set (members that it manages) will be the base replica. The Synchronizer uses the following algorithm to determine which replica becomes the base replica:


 * 1) Determine which members of the replica set currently managed by this Synchronizer are still valid (that is, not deleted, renamed, inaccessible, and so on).
 * 2) Exclude any partial replicas in the set. Only full replicas can be base replicas.
 * 3) Of the remaining replicas, select the replica with the lowest Replica ID. This replica becomes the base replica; it is designated to send and receive changes during synchronization.

Determining the Current Base Replica
To determine which replica has been designated as the base replica by the Synchronizer, follow these steps:  Start Microsoft Replication Manager. On the File menu, click Open Replica Set. Select a member of a replica set that you have previously managed with Microsoft Replication Manager, and then click OK. Right-click the Synchronizer icon that is managing the replica set, and then click Synchronize Locally Managed Replicas. After the synchronization is complete, right-click the Synchronizer icon again, and then click View Synchronizer Log File.  Scroll to the end of the text file and look for entries in the log that document the latest synchronization. These entries should look similar to the following:   Time = 8/7/97 4:00:05 PM   Log Type =  Direct exchange Result = Success Replica = C:\Windows\Replicas\Replica1.mdb ReplicaID = {33F32D42-0F20-11D1-9B50-00AA00B67747} Partner Replica Set Member = C:\WINDOWS\replicas\Replica2.mdb ReplicaID = {03B1A944-0F20-11D1-9B50-00AA00B67747} Note the "Replica = " entry. This identifies the base replica of the replica set for this synchronization. In the example in Step 5, the base replica is "C:\Windows\Replicas\Replica1.mdb." </ol>

Base Replica Scenario
There are scenarios in which the base replica selected by the Synchronizer could cause synchronization to take an extended amount of time and generate unexpected network traffic. Consider the following:

You have one replica set with three replicas (R1, R2, and R3) located on three computers (Machine A, Machine B, and Machine C). R1 is located on Machine A, R2 is located on Machine B, and R3 is located on Machine C. All three replicas are being managed by a Synchronizer running on Machine A. Machines A and B are both located on the same local area network (LAN), whereas Machine C is located on a separate LAN that is accessible over a wide area network (WAN).

Assume that R3 has the lowest Replica ID in this replica set and that all replicas in the set are valid (not deleted, renamed, or inaccessible). The Synchronizer will select R3 as the base replica. Therefore, when synchronization is initiated through Microsoft Replication Manager, R3 will be involved in every synchronization to other members of the same replica set managed by this Synchronizer. Because R3 is physically located on a remote computer, this may cause synchronization to take an extended amount of time and cause an unanticipated amount of network traffic. In this scenario, you can improve performance and reduce the amount of network traffic by moving R3 to Machine A (where its Synchronizer is located) and by moving one of the other replicas to Machine C.

Moving a Replica in Microsoft Replication Manager
To move a managed replica to another location, follow these steps. If you manually move a managed replica instead of following these steps, the replica will be marked as invalid, and it will be removed from the list of managed replicas.
 * 1) Start Microsoft Replication Manager.
 * 2) On the File menu, click Open Replica Set. Select a member of a replica that set you have previously managed with Microsoft Replication Manager, and then click OK.
 * 3) On the File menu, click Move Replica.
 * 4) In the Move Replica dialog box, select the replica that you want to move, and then click Open.
 * 5) In the Move To dialog box, select the location that you want to move the replica to, and then click Save.
 * 6) Repeat steps 3 through 5 for each replica that you want to move.

<div class="references_section">