Howdy all.


Box1; Publisher.
Box2; Subscriber/ Distributor.

NOT Immediate Updating, Pull, Continuous, Transactional Replication. I have 13 Publications and Subscriptions.

The problem (unimportant to the question, just for those that are curious):
For 2 months now I’ve been working with Microsoft on an issue on Box2. My Log Reader Agents will suddenly blow up with "The step did not generate any output. The step failed". Because of this, I created a sproc that a job calls once a minute to restart failed Log Reader Agents. Nothing more in the error logs. No rhyme or reason as to when this occurs. My job can restart it, and it may fail 1 minute later, or not at all for the rest of the day. Completely intermittent. I've jumped through lots of hoops with MS, but I think the time has come for more drastic measures. Which is what leads to my questions....

Proposed solution 1:
I am planning on rebuilding Box2 this weekend. Through testing, I am certain that I can:

1; Shut down SQL Server.
2; Copy all data files (System DB's included) to a safe location.
3; Uninstall SQL Server.
4; Reinstall SQL Server with SP4 to the same location that it was originally installed in.
5; Shut down SQL Server.
6; Copy all old files back to the original location.
7; Fire up SQL Server.

Replication is smart enough to then catch up all data changes that occurred on the Publisher. This is certainly a painless approach as all my replication configurations, security settings, DTS Packages, logins/ users never even become a consideration. I have run DBCC CHECKDB on all of the DB's on this box, and confirmed that they are all healthy. My fear though is that I may bring old issue to my "new" SQL Server installation. After all, I will have a new SQL install, but all my System DB's will come from the old install.

Proposed solution 2:
I know I can use scripts to rebuild my replication configurations, security settings, DTS Packages, logins/ users, but what a pain. It would mean actually having to re-snapshot all the publications back to the Subscriber.

So, could anything actual be fixed with proposed solution 1? Could I somehow benefit from taking the easy way out?

All ideas are welcomed.