01-04-2024 07:13 PM
Our UCCE has stopped replicating data from AWDB to to B, no change has been made, the Database, Server, files, etc has enough space, we have noticed that when restarting the Distributor it inserts a fraction of the data in the Database, but after a few seconds it stops replicating and shows these messages for all tables:
Thread [16532] Function Replication is Paused by LogWatch in CheckForFunctionPause
Total log pages allocated 393215, log pages used 171016
20:51:34:966 dis-rpl Trace: Log Watch found that SQL Server log was %43 full
20:51:34:966 dis-rpl Trace: Log Watch will pause some functions and dump the SQL Server Transation Log
20:51:34:966 dis-rpl Trace: Functions Paused
20:51:34:966 dis-rpl Trace: Waiting 120 seconds before Dumping the Log
20:51:35:977 dis-rpl Trace: DbBind::DbBind: Column name = DateTime, Var Length passed to dbbind = 100
20:51:35:977 dis-rpl Trace: DbBind::DbBind: Column name = StartTime, Var Length passed to dbbind = 100
20:51:35:977 dis-rpl Trace: DbBind::DbBind: Column name = EndTime, Var Length passed to dbbind = 100
20:51:35:977 dis-rpl Trace: IcmOdbc::CDbProcess::SQLExecDirect sr = 0 select * from Recovery where RecoveryKey = (select min (RecoveryKey) from Recovery where TableName = 'Agent_Logout' and FromRecoveryKey IS NULL and Type != 'UnReplicated' and Type != 'UnableToRecover')
20:51:36:586 dis-rpl Trace: Completed Scan For Replication Requests for Dialer_Detail
Process::SQLExecDirect sr = 0 select * from Recovery where RecoveryKey = (select min (RecoveryKey) from Recovery where TableName = 'Agent_Skill_Group_Interval' and FromRecoveryKey IS NULL and Type != 'UnReplicated' and Type != 'UnableToRecover')
20:51:40:001 dis-rpl Trace: DbBind::DbBind: Column name = DateTime, Var Length passed to dbbind = 100
20:51:40:001 dis-rpl Trace: DbBind::DbBind: Column name = StartTime, Var Length passed to dbbind = 100
20:51:40:001 dis-rpl Trace: DbBind::DbBind: Column name = EndTime, Var Length passed to dbbind = 100
20:51:40:001 dis-rpl Trace: IcmOdbc::CDbProcess::SQLExecDirect sr = 0 select * from Recovery where RecoveryKey = (select min (RecoveryKey) from Recovery where TableName = 'Agent_Skill_Group_Logout' and FromRecoveryKey IS NULL and Type != 'UnReplicated' and Type != 'UnableToRecover')
20:51:41:089 dis-rpl Trace: IcmOdbc::CDbProcess::SQLExecDirect sr = 0 dbcc showfilestats
Hope someone can help us on this.
Thanks in advance.
05-21-2025 01:20 AM
Hi Franscisco,
The same problem, I also faced.
To fix this, you can compare the database property in ICMDBA. You must compare the log buffer size at both side. Might be Side-B, expansion will help you on this.
Please rate if this is helpful.
05-27-2025 09:27 AM
It seems like Recovery keys are not matching on the DB of two sides. Distributor service uses recovery key to keep track of changes. As you said, your B side has stopped replicating and when you restart distributor, it replicates for sometime and then stops again.. this seems like a typical case of side B having different Recovery keys from side A.
There can be two fixes:
1. compare recovery key from both sides and find out which tables are lagging.. delete those recovery keys from B side tables, and restart distributor service. Hopefully you will find all missing recovery keys and hopefully both sides will sync and you have all data without any gap.
2. restore DB from side A to side B. this is the easiest fix and will make sure all your data is matching on both sides.
If you're not comfortable with these, then I would suggest to open TAC case, they will find out missing recovery keys and give you commands to recover data or give you steps to restore DB from A to B.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide