Depende de quantos dados você está falando, mas eu tenderia a passar conjuntos de dados .Net para uma tarefa de migração, pois isso significa puxar todos os dados para a memória. Se você deve faça isso por meio de um programa cliente .Net, pelo menos use um DataReader. Mas o que é ainda melhor é manter tudo no Sql Server via Serviços de Integração do SQL Server .