• Hi, a solution that I have implemented and tested very successfully is as follows. Might not be exactly your scenario but it may give you some ideas.

    My Scenario

    One Production Server with 10 Publications and upto 15 Subscribers

    One DR server in a different DC

    EMC Clarion SAN attached to both servers (with block Replication).

    The Challenge

    Perform a failover and continue with Replication still running to all Subscribers

    The Method

    Very simple. Setup each server independently on each site with exactly the same version of SQL. However on the production server you must also place the system databases and ErrorLogs\Default Trace folder on the replicated LUNS. TempDB can be on a locally attached drive or SSD as long as the same drive letter exists on the DR server. So for example you have the following C(OS - Local), D(TempDB - Local), E(SQL SystemDBs - SAN Replicated), F(SQL TLogs - SAN Replicated), G(SQL DataFiles - SAN Replicated)

    The DR server should will be entirely installed on Local drives but the same drive letters for SystemsDBs and TempDB as Prod. i.e C(OS - Local), D(TempDB - Local), E(SQL SystemDBs - Local).

    On failover you shut down the Prod server (or it dies if unplanned). Then on the DR server you will need to rename it to be the same as the same name as the Prod server (by dropping out of domain, renaming and adding back into domain). On the DR server, switch the local E: SystemDB drive to something like Q: so its out of the way. Then fail over your SAN drives (once they are synchronized) and they will appear on the DR server. Make them match the Prod Server drive letters.

    Start the server up and you should have a fully functioning replicated server. You've essentially tricked it into thinking it was simply down for a small duration. This approach reduced my Publisher Server failover time from 48 hours to 45 mins as I no longer needed to resynch all publications (some of which were almost 1TB in size) 🙂

    Just a few points to note.

    Make sure both Prod and DR server SQL services are running under the same service accounts (maybe not necessary but just in case).

    After failover validate your Publications using sp_publication_validation or tablediff etc

    Always keep you DR server uptodate with the same SQL Server patches as your Prod (as its a fully functioning SQL Server on the local disks).

    hope this helps