We have a database replicated with some customization that makes re-initializing a prospect we would rather avoid. We have also reached a point where we need to move our distributor to a different server.
The GUI to set up replication has an option to not initialize, so we decided to try that option.
We are working in a test environment that had an up to date replication scenario matching production. We took the application offline and allowed replication to catch up completely before ensuring no connections remained to the publication database. dropped the subscribers and publishers and then rebuilt the publishers to the new distribution database. We then tried to create the subscription. Everything looked good until we finished the wizard at which point it spun for a short while before returning an error indicating that it couldn't find the procedure 'Dev_distribution.dbo.sp_MSsetupnosyncsubwithlsnatdist_helper'
After a couple hours of trying to figure out why the system couldn't access the stored procedure I thought I saw in the database (there is one without the _helper) I realized the procedure doesn't exist anywhere on the distributor. I went through all of the servers that were part of replication and managed to find a copy of the system proc in the publisher's master database but not on any of the other servers.
I'm guessing I could manually create the proc in the location the wizard is expecting it, but I'm thinking that I'm probably missing something more fundamental that would be easier then copying MS supplied procs around.
Anyone have any ideas what could be misconfigured, or is there a more basic bug that I haven't found any documentation on in my searching?