Sql-server – How to Migrate complete Transactional Replication to other servers without Snapshot

sql servertransactional-replication

We have large databases that are being kept in sync using Transactional Replication. They are all running in VMs and we are going to move to a new provider and reorganize the network structure and application distribution.

Is it possible to migrate the Transactional Replication: Publisher, Subscriber, Distribution Database without having to take a new Snapshot?
Currently we have in Server_1 the Publisher and in Server_2 the Subscriber and Distribution Database.
We are going to move the Publisher to Server_3 and the Subscriber and Distribution Database to Server_4

I don't have much experience with SQL Replication so I have been reading a lot. I found this answer here. Reading it, I understand that if I follow these steps, moving the Replication to the new 2 servers should be possible:

  1. During downtime we wait until all objects are in sync
  2. Then Script out the Replication (does this include, Publisher, Subscriber and Distribution Database?),
  3. Migrate the Publisher and Suscriber Databases to their new Locations
  4. Create new Transactional Replication from Scratch (using the scripts generated from the existing Replication) with replication support only
  5. Run snapshot jobs to ensure the creation of any System Objects missing.

However I don't know If I have all the data/steps/understanding required and if I am missing anything important.

Also, would it be possible not to wait for all the objects to be in sync? I would like to test the process but I don't know if I will be able to shutdown the databases for that long just to test. So could We migrate both databases without having them perfectly in sync and regenerate the Replication without Creating a Snapshot? Maybe without the "replication support only" option and running the snapshot Jobs. If we run the snapshot jobs in that situation will they create a whole snapshot since the DBs won't be in Sync or will it only look for the differences?

I am sorry if my questions seem rather obvious, I haven't worked with this Technologies before and I want to make sure to do everything right.

Best Answer

I would like to test the process but I don't know if I will be able to shutdown the databases for that long just to test

You should test and automate this process in a non-production environment.