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 -loption 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

SQL Remote subscriptions are two-way operations: each remote database is

two-way

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

Page 256
Image 256
Sybase DC38133-01-0902-01 manual Agent -loption to change this setting, Are offsets in the local database transaction log