MO: restaurar para um banco de dados diferente

Eu li uma dúzia de blogs diferentes, além de ler os exemplos do msdn e eles simplesmente não estão funcionando para mi

Em última análise, o que estou tentando fazer é automatizar a movimentação de um banco de dados de nossa instância de produção para nossa instância de desenvolvimento ou outra direçã

A abordagem adotada é a seguinte:

backup / restauração para um banco de dados temporáriodetach temp DB copie os arquivos mdf e ldf para a outra instância reconecte.

Estou preso no 1 e não consigo entender o porquê. Tudo o que li afirma que isso deve estar funcionando.

NOTA: eu configureidbName para o db para o qual quero restaurar. Eu também configureirestore.Database = dbName, Onderestore é uma instância doRestorelasse @ nosmo namespace.

mdf.LogicalFileName = dbName;
mdf.PhysicalFileName = String.Format(@"{0}\{1}.mdf", server.Information.MasterDBPath, dbName);
ldf.LogicalFileName = dbName + "_log";
ldf.PhysicalFileName = String.Format(@"{0}\{1}.ldf", server.Information.MasterDBPath, dbName);

restore.RelocateFiles.Add(mdf);
restore.RelocateFiles.Add(ldf);
restore.SqlRestore(server);

Esta é a exceção que estou recebendo:

O arquivo 'D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.mdf' não pode ser substituído. Está sendo usado pelo banco de dados 'MIQDesignTest2'.
@Arquivo 'MIQDesign' não pode ser restaurado para 'D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.mdf'. Use WITH MOVE para identificar um local válido para o arquiv
O arquivo 'D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.ldf' não pode ser substituído. Está sendo usado pelo banco de dados 'MIQDesignTest2'.
@Arquivo 'MIQDesign_log' não pode ser restaurado para 'D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.ldf'. Use WITH MOVE para identificar um local válido para o arquiv
s problemas @ foram identificados durante o planejamento da instrução RESTORE. As mensagens anteriores fornecem detalhes.
RESTORE DATABASE está sendo finalizado de forma anorma

Por que isso está tentando substituir o mdf original? Não é oRelocateFiles coisas que deveriam especificar que você deseja que ele seja salvo em umdiferent nome do arquivo físico?

questionAnswers(2)

yourAnswerToTheQuestion