A Connect CDC component checks for SQL update conflicts as it applies replicated data to receiving tables. It is a conflict, or collision, if a target record has been changed and is not what is expected, preventing the completion of the replicated update. The definition of a collision varies depending on if the mode is protected or unprotected. Choose settings for collision detection on the Replication tab of the Replication Request Properties dialog box.
For maximum safety for applications susceptible to data collisions, you can protect the sending and receiving tables on the servers involved in replication.
Kind of collision detection in effect |
Description |
---|---|
protected |
Shadow tables maintain information about the previous updates on a source table. When Connect CDC replicates information to the target table, it looks at information in the shadow table to see if it differs. If it differs, a collision occurs. A collision may be:
This is for use in bi-directional configurations. You choose settings on the Replication tab of the Replication Request Properties dialog box to specify if collisions are resolved automatically in the same distributed transaction or they are made available for manual resolution. Note: Do not attempt manual resolution in Versions 4.0.2 and earlier. |
unprotected |
A collision is an error, and no attempt is made to resolve whether the incoming replicated data or the encountered target data is preferred. A collision may be:
To enable Unprotected collision resolution, you select the types of SQL update errors to be automatically resolved (INSERT, DELETE, UPDATE) on the Replication tab of the Replication Request Properties dialog box. |