How SQL Remote handles conflicts

When a conflict is detected

SQL Remote replication messages include UPDATE statements as a set of single row updates, each with a VERIFY clause that includes values prior to updating.

An UPDATE conflict is detected by the database server as a failure of the VERIFY clause values to match the rows in the database.

Conflicts are detected and resolved by the Message Agent, but only at a consolidated database. When an UPDATE conflict is detected in a message from a remote database, the Message Agent causes the database server to take two actions:

  1. Any conflict resolution (RESOLVE UPDATE) triggers are fired.
  2. The UPDATE is applied.

UPDATE statements are applied even if the VERIFY clause values do not match, whether or not there is a RESOLVE UPDATE trigger.

Conflict resolution can take several forms. For example,

  • In some applications, resolution could mean reporting the conflict into a table.
  • You may want to keep updates made at the consolidated database in preference to those made at remote sites.
  • Conflict resolution can be more sophisticated, for example in resolving inventory numbers in the face of goods deliveries and orders.