sybase replication in suspended mode

motioneye
motioneye used Ask the Experts™
on
If in sybase replication, if command like update or select occur in data server which is not exist in replicate server, will it cause the replication  goes suspended ?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Commented:
Sybase replication is log based. It replicates transactions written in transaction log that need to be replicated. ASE doesn't write any record in transaction log for an update statement which doesn't update any row or any select statements. So those statements have nothing to do with replication.

Author

Commented:
Hi,
Yes I know its log based, I just want to know if we had the command such update,delete or select which the object reference does not exist in replicated db, will it cause replication suspended ?

I read sybase doc and it says like below: http://manuals.sybase.com/onlinebooks/group-rs/rsg1260e/rsadmin/@Generic__BookTextView/48298;pt=47405/*

"Transactions can fail due to errors such as duplicate keys, column value checks, and insufficient disk space. They may also be rejected for reasons such as insufficient permissions, version control conflicts, and [b]invalid object references[/b]."

Commented:
I think I misunderstood the question before. It depends on how replication errors are configured. If a table is replicated and update fails for any reason in replicate database, it causes DSI connection suspension when that error is set to 'stop_replication'. You can set errors to be ignored or to generate only a warning.
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.

Author

Commented:
Hi,
In rs_helpdb, we have error_class ASEallowdupsErrorClass, how do we know what errors we can skip by using this error_class ?
Commented:
You can use rs_helperror to see the actions set for a particular error:

rs_helperror server_error_number [, v]

I am guessing that your error class has been created to allow duplicate rows (or keys) as the name suggests. Other behavior might be as default.

You can also check rs_erroractions table to see all actions for all errors. But you need to join that table with rs_classes to see actual name of error class.

Author

Commented:
Hi,
Thanks, do you know any link where I can look at on explanation of errors in rs_classes ds_errorid, there are so many which I  think using rs_helperror will takes a lot of time and efforts

Commented:
You can find all errors and messages they generate in sysmessages table in master database. Maybe you can join that table with rs_erroractions with a where clause on description column (description like '%your_string%') to find out the error actions you want to see.

Author

Commented:
hi alpmoon,
do you have any T-sql which I can use to join this two table ? at least to view only for replication error msgs.
Commented:
You can run a query like below on RSSD db:

select ea.*, sm.description
  from rs_erroractions ea, master..sysmessages sm
where ea.ds_errorid = sm.error
    and description like '%your_error%'

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial