Tentative game plan:
W2K Server running SQL2K, replicating to another server and numerous databases.
We are doing a significant hardware upgrade and switching to Windows 2003. The resulting server shoudl have the same name, and do all the same things exactly.
We want to shortcut the process as follows:
- Move all databases (including master, model, msdn, etc.) off "C" drive
- Shutdown SQL
- Remove server from AD (call it "X")
- Change hardware around -- the disk drives will not be changed other than "C"
- Install W2003, SQL 2K EE under name "X", same instance name, services, etc. All the same. Put master and databases on "C" (different master). Bring to exactly same service pack and patch level as previous version.
- Set up as a publisher (just in case, not sure if needed)
- Shut down SQL Server
- Change registry to point master, tempdb, etc. to the old databases which are still out there on the old non-"C" drives.
- Start SQL
The theory is that at that point SQL will start, find Master, Distribution, MSDB and so forth, and since the server name and AD environment is the same, it will just work.
One known catch is that the computer SID has changed. Not sure if SQL cares.
Will this work?
Besides trying to avoid recreating the whole SQL environment, jobs, replication, etc., we actually are hoping that the subscriber that is out there, which would still be runnig and updating (transactional, queued) would be able to replicate and dump in those changes when the system comes back up.
If we started from scratch and recreated replication, my understanding is that updates (made while we change o/s versions) couldn't flow into the publisher. We are hoping the above will let them do so since it will think the publisher was simply offline and now is back.
What do you think?