User's Manual

serial number within the transaction to order the messages correctly. The
default maximum message size is 50,000 bytes, but you can use the Message
Agent -l option to change this setting.
Sending messages The log_sent column holds the local transaction log offset for the latest
message sent to the subscriber. When the Message Agent sends a message, it
sets the log_sent value to the offset of the last COMMIT in the message.
Once the message has been received and applied at the subscribed database,
confirmation is sent back to the publisher. When the publisher Message
Agent receives the confirmation, it sets the confirm_sent column for that
subscriber with the local transaction log offset. Both log_sent and
confirm_sent are offsets in the local database transaction log, and
confirm_sent cannot be a later offset than log_sent.
Receiving messages When the Message Agent at a subscriber database receives and applies a
replication update, it updates the log_received column with the offset of the
last COMMIT in the message. The log_received column at any subscriber
database therefore contains a transaction log offset in the publisher
database’s transaction log. After the operations have been received and
applied, the Message Agent sends confirmation back to the publisher
database and also sets the confirm_received value in the local
SYSREMOTEUSER table. The confirm_received column at any subscriber
database contains a transaction log offset in the publisher database’s
transaction log.
Subscriptions are
two-way
SQL Remote subscriptions are two-way operations: each remote database is
a subscriber to publications of the consolidated database and the
consolidated database subscribes to a matching publication from each
remote database. Therefore, the remoteuser SQL Remote system tables at
the consolidated and remote database hold complementary information.
The Message Agent applies transactions and updates the log_received value
atomically. If a message contains several transactions, and a failure occurs
while a message is being applied, the log_received value corresponds
exactly to what has been applied and committed.
Resending messages The remoteuser SQL Remote table contains two other columns that handle
resending messages. The resend_count and rereceive_count columns are
retry counts that are incremented when messages get lost or deleted for some
reason.
In general, the log_send column has the same value as the log_sent column.
However, if the log_send has a value that is greater than log_sent, the
Message Agent sends messages to the subscriber immediately on its next
run.
238