How Can I Use Storage Replication For A Data Center Migration?

Q: We are moving our data center to a new location, and as a part of the move we are upgrading from SQL Server 2005 to SQL Server 2008. SQL Server 2008 will only be running at the new site, so we have to do all our testing at the new site. The database is very large so we don't want to copy the backup files over the WAN over and over again. What options are available to use?

A: The answer to the question here will depend greatly on what storage platforms you have available to you. Assuming that you have some sort of storage array which supports replication to a remote data center you have some pretty neat options available to you.

The first step will be to setup replication of the LUNs which hold the database to the second site. Then let this get into sync. This will take at least several days to get into sync for a large database. Once the LUNs on both sites are in sync, at the new datacenter take a snapshot of the replicated LUN and present that snapshot to the SQL Server instance which will be running as the new server. You can now attach the databases to the SQL Server 2008 instance. The reason that this works is because storage array snapshots are typically read/write which allows the SQL Server 2008 instance to write the needed changes to the snapshot without making changes to the base LUN which is still receiving it's changes from the production database.

You can now do all your testing that needs to be done, even reverting back to the correct state of the system taking another snapshot and doing the testing again. All this is being done without spending days or weeks copying the current database backup to the remote site and then waiting for the database to then restore.

This same technique could also be used when doing an upgrade in house. Instead of backing up and restoring the database to the test server which has been upgraded, simply snapshot the production LUNs and present the snapshoted LUNs to the new server.

Check with your storage vendor to ensure that you have the features needed to perform these actions.