For replicas in a disconnected environment, synchronization is achieved through a process of manually exchanging messages between replicas. Two types of messages can be exchanged: data change messages and acknowledgment messages. Data change messages contain data changes, while acknowledgment messages acknowlege the receipt of data change messages. Replicas that are data senders can send data change messages, while replicas that are data receivers can send acknowledgment messages. See
Disconnected synchronization for more information.
NOTE: The import phase of the synchronization process occurs within a transaction. The second phase of a synchronization includes a reconcile, which also occurs in a transaction. Resources, such as undo space or logical log files, will vary with the amount of changes to be synchronized. If the import phase completes but the reconcile phase results in an error, the replica will appear as if in conflict and you can later go in and complete the reconcile manually.
Data changes include new data changes and unacknowledged data changes. New changes are any inserts, updates, and deletes applied to the replica version since the last data change message was exported. Unacknowledged data changes include previously exported changes for which you have not received an acknowledgement. There are two commands available to export data change messages:
- Export Data Changes message—By default this command exports all new data changes and all unacknowledged data changes. You can choose whether to include new data changes and whether to include unacknowledged data changes. You can also choose to switch the replica from sender to receiver on export. If you choose to switch, a flag is added to the delta file, which causes the relative replica to switch from receiver to sender on import.
- Re-export Unacknowledged messages—This command reexports only unacknowledged data changes to a delta file. By default, all unacknowledged changes are included, but you can choose to include only the changes from the most recent export.
An acknowledgment message acknowledges the receipt of data changes from the relative replica. Unless the relative replica receives an acknowledgment, it will resend the data changes. Adopting the practice of regularly sending and importing acknowledgement messages prevents you from having to resend changes. The export acknowledgment message command can be used to export acknowledgment messages.
The import message command can import either data change messages or acknowledgment messages. Importing an acknowledgment message updates a replica's metadata so it knows what changes to include in the next export. Importing a data change message applies data changes from the relative replica and also updates the replica's metadata.
Reconcile Options
When importing a data change message, a reconcile occurs between the
synchronization version and the replica version. During this reconcile, conflicts may occur. Before importing the message, you can choose a reconcile policy to define how to handle conflicts.
Learn more about Reviewing conflicts.
Reconcile policies include the following:
- Manual—With this policy, if a conflict occurs, the reconcile operation is aborted and the replica is marked as being in conflict. This gives you an opportunity to perform the reconcile afterward, either manually or by running some custom reconcile code. Once the reconcile is applied and the changes are posted to the replica version, the replica is no longer in conflict. While the replica is in conflict, it can continue to receive changes but cannot send changes.
- In favor of the database—In this case, the representation of the database importing the changes is used over the changes in the delta file if there is a conflict. Since the conflicts are resolved automatically, the replica is never in a conflict state after synchronizing with this policy.
- In favor of the imported changes—Here, the representation defined by the imported changes is used over the replica's representation automatically if there is a conflict. Since the conflicts are resolved automatically, the replica is never in a conflict state after synchronizing with this policy.
The default is the option that favors the parent replica. Therefore, if importing changes on the child replica, the default is in favor of the imported changes. If importing changes on the parent replica, the default is in favor of the database.
Note that the reconcile options are similar to those offered for synchronizing connected replicas.
Defining Conflicts
You can also choose between column-level and row-level conflict detection for this reconcile.
Learn more about reconciling a version.
After the initial data sender exports a data change message, the relative replica must import this message for the pair to be synchronized. It is then encouraged for the receiver to send an acknowledgment message so that the data sender knows that the message was received. This keeps good communication between the replica pair during the data exchange process and makes it easier to tell if a message is late or has been lost.
NOTE: This is the same command you use to import an acknowledgment message as well as to import a data change message.
- To activate the Import Message wizard in ArcMap, click the Import Message button on the Distributed Geodatabase toolbar. The wizard supports both local and remote geodatabases. Remote geodatabases are accessed in ArcMap through map services that have the geodata access capability enabled.
- In ArcCatalog, right-click the geodatabase you want to import a message to and open the Distributed Geodatabase pull-right menu. Right-click geodata services published through ArcGIS Server to access remote geodatabases. Click Import Message.
- Choose the replica geodatabase you'd like to import a message to.
- Pick the delta file you would like to import.
- If you would like to generate an acknowledgment message to send in return, you can specify a delta file to export to.
- If the replica is a checkout, you also have the option to reconcile with the parent version once the message is imported.
- For more information regarding importing messages, click the About Importing Messages button.
Tip
- The import phase of the synchronization process occurs within a transaction. The second phase of a synchronization includes a reconcile, which also occurs in a transaction. Resources, such as undo space or logical log files, will vary with the amount of changes to be synchronized. If the import phase completes but the reconcile phase results in an error, the replica will appear as if in conflict and you can later go in and complete the reconcile manually.
|
If for some reason an exported data change message is lost in transit or needs to be re-sent, you can reexport data changes and send them again. This option is not available for checkout replicas. For checkout replicas, you can run the Export command again to achieve the same result.
NOTE: Note: Reexporting a data change message will not include the most recent edits. It will only include the edits that were sent in the original data change message.
- To activate the Re-Export Unacknowledged Messages wizard in ArcMap, click the Re-Export Unacknowledged Messages button on the Distributed Geodatabase toolbar. The wizard supports both local and remote geodatabases. Remote geodatabases are accessed in ArcMap through map services that have the geodata access capability enabled.
- In ArcCatalog, right-click the geodatabase you want to reexport data changes from and open the Distributed Geodatabase pull-right menu. Right-click geodata services published through ArcGIS Server to access remote geodatabases. Click Re-Export Unacknowledged Messages.
- Select the replica you would like to reexport unacknowledged messages from. The replica type will be displayed.
- Specify a name for the delta database or delta XML file to be created.
- You then have the option to include all unacknowledged changes or to include only the most recent unacknowledged changes since the last exported data change message.
- For more information regarding reexporting a data change message, click the About Re-Exporting button.