Sql-server – SQL Server Replication w/o network connection

backupmirroringreplicationsql server

Is there a way to use SQL Server Replication without a network connection?

My would-be publisher is an SQL Server 2005. It is on the "outside" as it is connected to my company's primary LAN, which is connected through a firewall to the Internet. My would-be subscriber, however, is an SQL Server 2012 that is on the "inside" – due to security reasons, it must be connected to a network that is completely (i.e. physically) isolated from our primary LAN and the Internet. I need a way to replicate outside server changes on the inside on a daily basis.

Is there a way to use Replication without a network connection between publisher and subscriber (e.g. via an optical-disc-based file transfer)? Our security protocol allows for media to be brought inside from the outside, but any kind of communication from inside to outside is forbidden. Ideally, I would run a script on the outside server, burn the resulting output to a disc, and then import the changes (be them inserts, updates, or deletes) to the inside server.

It seems Merge Replication is close to providing this functionality, as it is intended to support subscribers with sporadic network connectivity, but it doesn't seem to support scenarios in which there is no network connectivity.

Further confounding the situation is the fact that due to the size of the database involved (~50 GB), I need a way to only transfer the differential – I would only like to have to burn the daily changes to disc, not the entire DB (thus eliminating Snapshot Replication as an option).

For now, I have both servers on the outside, so I can use network-based Replication for the initial transfer, but once I deploy the subscriber to the inside, this will no longer be a possibility.

I am also open to other means of solving this problem. I have looked into backup/restore solutions, but have run into trouble as I only need to perform this operation on a subset of the data in the DB, and backing up/restoring only a subset of a DB does not seem to be a trivial exercise.

Best Answer

If you use log shipping, you can do the copy operation of the transaction log backups manually to take them from one server to the other.