• Thanks for posting back. I was not sure how to easily get across the concern about consistency so I am happy you went through some of the steps and got what I was saying. I have maintained for years that the Replication subsystem might have more options within it than any other subsystem in SQL Server, yet it sounds so simple to say "let's just Replicate the databases over to this other instance", as if there is a button on a screen somewhere in SSMS that just says "Replicate to..." and you just enter the destination instance name and it magically reads our minds and sets everything up. Ahh...that was a nice little daydream 😀

    To keep downtime to a minimum consider the newly inserted "step 2" shown below. This will ensure the LS jobs are disabled, which I should have mentioned earlier, and will leave the DBs online while bringing the remainder of the log activity onto the secondary DBs. This will make sure the tail log backup is extremely small which should keep the time the DB is offline to a minimum. Since everything is on the same instance you could easily script 2,3 and 4, manually verify 5 or script that too, and script 6 and 7. If all goes as planned the downtime could be only a few seconds per database. Of course there will be a disruption in service but the DBs should be available again almost immediately.

    1. log ship each database to a new database on the same instance with a different name, e.g. log ship DatabaseName to DatabaseName_new where DatabaseName_new's data files are on the SAN

    2. when you're ready to cutover disable the LS jobs and then run the backup, copy and restore jobs one last time

    3. then take a tail log backup from DatabaseName the primary database will take it offline as far as users can tell

    4. restore the tail log backup to the secondary database and recover it, so DatabaseName_new is online at this point

    5. verify that DatabaseName_new has everything in it and is ready to become the primary database

    6. recover DatabaseName and immediately detach it from the instance

    7. rename DatabaseName_new to DatabaseName

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato