sql server replication:
Hello all,
I am seeing a rather odd replication issue, thats new to me and I was
wondering of anyone could provide insight on how to resolve it.
I have several SQL servers (SQL2k w/ all patches and SP) replicating
several databases via a transactional replication. There have been no
problems with the replication for months. Right now, all the replication on
a single DB is failing, because the log reader is halted on all of the
replications. The log reader gives the following error message:
The process could not execute 'sp_repldone/sp_replcounters' on 'RepServ'.
The specified LSN (0000456a:00007554:0001) for repldone log scan occurs
before the current start of replication in the log (00004576:00001128:0115).
(Source: RepServ (Data source); Error number: 18768)
----------------------------------------------------------------------------
-----------------------------------
The process could not set the last distributed transaction.
(Source: RepServ-PilotDBLive-6 (Agent); Error number: 22017)
----------------------------------------------------------------------------
-----------------------------------
Now, this seems fairly straightforward, the next transaction that is to
be replicated isn't in the transaction log. Recently, a tech truncated the
SQL agent log because it was full, and this might be a side effect. (Don't
understand why, as replication transactions aren't stored in SQL agent log
to my knowledge, but whatever, the problem now exists.) I looked up the SP
in the db, and there is a method that sp_repldone can be called that might
fix the problem, but it requires the DB to be unpublished and republished:
"When xactid is NULL, xact_seqno is NULL, and reset is 1, all replicated
transactions in the log are marked as distributed. This is useful when there
are replicated transactions in the transaction log that are no longer valid
and you want to truncate the log, for example:
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time
= 0, @reset = 1"
The goal is to get the log reader going without rebuilding the
replication (Which would be a huge time sink.). Suggestions?
Thanks in Advance,
Roger