Replication of Tables Without Unique Keys

With certain limitations, Replication Server supports the replication of a table to Adaptive Server even if the table does not have a unique key.

If a table does not have a unique key, it is possible that there are two or more rows with the same values. However, DSI shuts down if it cannot find a unique row to apply an operation. The dsi_top1_enable parameter instructs DSI to select and update only the first instance of multiple similar rows by setting unsigned_integer to 1 in the top unsigned_integer clause of the Adaptive Server select statement.

Set the dsi_top1_enable parameter to on to support replication of tables without unique keys. To set the parameter for:

The default is off.

Do not use configure replication server to set dsi_top1_enable to on if there are connections to non-Adaptive Server replicate databases. Instead, use alter connection to set the parameter individually for each Adaptive Server replicate database connection.

Limitations

Replication Server does not support replication of a table without unique keys if:
  • There is a Java object datatype in the table. See Java Datatypes in theReplication Server Reference Manual.
  • There is a customized function string for the table.
  • There is a table replication definition for the table.
  • Transactions use updates and deletes with the like option in the where clause at the primary database.
  • The replicate database is not Adaptive Server.