Another normalization error occurs when there are inconsistencies in the replication status of text or image columns between the Adaptive Server database and the replication definition. Replication Server error 32046 is displayed in the Adaptive Server error log (for RepAgent) or the LTM error log:
Message: 32046 -- ’The status of column ’%s’ in repdef is inconsistent with that of the LTL command.’
The replication status for text and image columns in the Adaptive Server database is carried in the modification LTL commands that the RepAgent or LTM sends to the Replication Server. If the status of a text or image column is not the same in the Adaptive Server database and in the replication definition, then Replication Server detects the inconsistency when the modification is being replicated, and the RepAgent or LTM shuts down.
If a text or image column has a status of do_not_replicate at the Adaptive Server database and the replication definition includes that column for replication, processing continues and the Replication Server sends the modifications to the replicate database without the text or image data. The Replication Server records a warning message in the Adaptive Server error log (for the RepAgent) or LTM error log.
Use the following procedures to resolve replication status inconsistencies for text or image column status and to resume operations after the RepAgent or LTM has shut down.
When the RepAgent or LTM shuts down because a text or image column has a status of replicate_if_changed at the Adaptive Server database and always_replicate in the replication definition, you must change the replication status so that they match, for example, either:
Replicate text or image columns only when their values change, or
Always replicate text or image columns.
To replicate text or image columns only when their values change:
Execute the alter replication definition command at the primary Replication Server and change the status of the text or image columns to replicate_if_changed. Wait for the modified replication definition to arrive at the replicate sites.
Restart the RepAgent or LTM.
To always replicate text or image columns:
Stop updates at the primary table.
Execute the alter replication definition command at the primary Replication Server, and change the status of the text or image columns to replicate_if_changed. Wait for the modified replication definition to arrive at the replicate sites.
Restart the RepAgent or LTM to let transactions with a replicate_if_changed status finish processing.
Execute the sp_setrepcol system procedure at the Adaptive Server and change the status to always_replicate.
Execute alter replication definition at the primary Replication Server and change the status of the text or image columns to always_replicate. Wait for the modified replication definition to be replicated to the replicate sites.
Resume updates to the primary table.
When the Replication Server reports that the status of a text or image column is do_not_replicate at the Adaptive Server database and the replication definition includes that column for replication, you must change the replication status to either:
Replicate text or image columns, or
Not replicate text or image columns.
If you want to replicate text or image columns:
Execute the sp_setrepcol system procedure at the Adaptive Server database and change the status of the text or image column to always_replicate or replicate_if_changed. It should match the status in the replication definition.
Wait for subsequent transactions that modify the text or image column to be processed by the Replication Server.
Consider correcting any inconsistencies with the rs_subcmp program.
If you do not want to replicate text or image columns:
Stop updates to the primary table.
Drop subscriptions to the replication definition.
Drop the replication definition.
Re-create the replication definition without the text or image columns, and re-create subscriptions.
Resume updates to the primary table.