• The difficulty you face is that the LSN for the replicated transactions in the distribution database are out of sync with what you have coming from the publisher. The error "could not execute sp_repldone" is indicative of that. So, if you restore the distribution database you are going to see this. The only way to avoid that would be to restore distribution database and the published databases to the exact point in time. Not an easy feat.

    You can restore the distribution database and then force a sp_repldone which will invalidate all transactions in the published database transaction log that are marked for replication. Basically log reader will no longer pick those up. That also means that you have to manually sync all the tables in the publications as they will no longer be in sync with the subscriber. It will allow replication to start working again though. So, if tables are reasonably sized, and a initialize is not an option, this will work.

    Hope this helps.

    David

    @SQLTentmaker

    “He is no fool who gives what he cannot keep to gain that which he cannot lose” - Jim Elliot