We restored a database with replicated tables. Now, the Log Reader Agent will not run. This displays:
"The process could not execute 'sp_repldone/sp_replcounters' on 'ourservername'."
In Error Details for the agent:
"The process could not set the last distributed transaction."
And, from the logs:
"ForwardLogBlockReadAheadAsync: Operating system error 998(Invalid access to memory location.) encountered."
Does anyone know how we get the Distribution database and the Log Reader running again?
It is only affecting Transactional replication (not snapshot or merge).
The only way that I know is to reinitialize the subscriptions. This essentially pushes a new copy of the articles in the stalled publications to the subscribers, which is time consuming but it gets things back to a "known good state" so that replication can continue.
We tried reinitializing. It didn't work.
We are going to drop all of the Transactional publication subscriptions and see if we can clear it up that way. Otherwise, we may have to script, disable, and re-configure replication.