data: da·ta ˈdatə,ˈdātə/noun
- facts and statistics collected together for reference or analysis.
luge: luge lo͞oZH/noun
- a light toboggan for one or two people, ridden in a sitting or supine position.
Moving a database from one server to another via backup/restore requires a lot of extra IO and you end up with files laying around. Dataluge allows you to stream the backup from one server to another using the virtual device interface for SQL Server backups.
- Create virtual interface on target (source or destination)
- Kick off a thread running the backup/restore
- Kick off another thread that: a) reads from the virtual interface and writes to a socket (backup) b) reads from a socket and writes to the virtual interface (restore)
- fin
There is a need for a "client" install on both the source and destination as the virtual interfaces cannot be created or accessed remotely. TODO: Windows Service? Just an EXE that's kicked off?
###Resources: Winsock examples: http://msdn.microsoft.com/en-us/library/ms737889(v=vs.85).aspx
Beej's Guide: http://beej.us/guide/bgnet/output/html/multipage/index.html
Documentation on VDI is limited. The .chm file included has a full spec for the library. Example code is here (hasn't been updated since SQL2005): http://www.microsoft.com/en-us/download/details.aspx?id=17282