I database presenti in una istanza di sql server sono "attaccati" a quella istanza e non si può copiarli e attaccarli ad una nuova istanza (attach) senza prima averli staccati (detach). Discorso un po' diverso nel caso invece usi sql server express.
In ogni caso, personalmente utilizzerei il comodo modello a oggetti di SqlServer messo a disposizione delle applicazioni .net chiamato SMO. Imparandolo a utilizzare puoi programmare le normali operazioni sui db come collegamento-backup e collegamento-restore o farti restituire facilmente il transact sql necessario per ricostruire gli oggetti.
http://msdn.microsoft.com/it-it/library/ms162132.aspx