There are two type of reserved names in the Replication Agent transaction log:
Column names in Replication Agent shadow tables
Global variables in Replication Agent stored procedures
When a primary table is marked for replication, Replication Agent creates a shadow table to record the replicated operations. The shadow table has all the columns of the primary table, plus four columns that the Replication Agent creates for its use:
ra_tran_id_
ra_opid_hi
ra_opid_lo
ra_img_type_
These column names are fixed, not generated; therefore,
the “ra_” portion of the column name
does not change when the value of the pdb_xlog_prefix parameter
changes.
If a primary table has a column with the same name as one of the Replication Agent shadow table columns, the table marking procedure fails. Replication Agent flags the offending column in the table-marking script and the pdb_setreptable command returns an error.
In this event, you must change the name of the conflicting column in the primary table. After you change the name of the conflicting column, you can modify the table-marking script and run it manually to mark the primary table.
If you want to use the primary table’s original
column name in the replicate table, you can create a function string
in the replicate Replication Server to map the new column name in
the primary table to the original column name in the replicate table.
The following global variables are used in Replication Agent transaction log stored procedures:
ra_txid_
ra_opid_hi_
ra_opid_lo_
ra_tstamp_
These variable names are fixed, not generated; therefore,
the “ra_” portion of the variable name
does not change when the value of the pdb_xlog_prefix parameter
changes.
You cannot use these names as column names in a primary table or as global variables in a primary stored procedure in the primary database.
Copyright © 2005. Sybase Inc. All rights reserved. |
![]() |