SMO: przywracanie do innej bazy danych

Przeczytałem kilkanaście różnych blogów, a także przeczytałem przykłady msdn i one po prostu nie działają dla mnie.

Zupełnie to, co próbuję zrobić, to zautomatyzować przenoszenie bazy danych z naszej instancji produkcyjnej do naszej instancji programistycznej lub w innym kierunk

Podejście to:

tworzenie kopii zapasowych / przywracanie do tymczasowej bazy danychdetach temp DB Kopiuj pliki mdf i ldf do drugiej instancji podłącz ponownie.

Utknąłem na 1 i nie rozumiem dlaczego. Wszystko, co przeczytałem, twierdzi, że powinno działać.

UWAGA: UstawiłemdbName do bazy danych, którą chcę przywrócić. Ustawiłem równieżrestore.Database = dbName, gdzierestore jest instancjąRestore klasa wsmo przestrzeń nazw.

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);

To jest wyjątek, który otrzymuję:

Plik „D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.mdf” nie może zostać zastąpiony. Jest używany przez bazę danych „MIQDesignTest2”.
Pliku „MIQDesign” nie można przywrócić do „D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.mdf”. Użyj Z RUCHEM, aby zidentyfikować prawidłową lokalizację pliku.
Plik „D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.ldf” nie może zostać zastąpiony. Jest używany przez bazę danych „MIQDesignTest2”.
Pliku „MIQDesign_log” nie można przywrócić do „D: \ MSSQL.MIQ_Dev \ MSSQL.2 \ MSSQL \ Data \ MIQDesign2Detach.ldf”. Użyj Z RUCHEM, aby zidentyfikować prawidłową lokalizację pliku.
Problemy zostały zidentyfikowane podczas planowania instrukcji PRZYWRACANIA. Poprzednie wiadomości zawierają szczegółowe informacje.
PRZYWRÓĆ BAZA DANYCH kończy się nieprawidłowo.

Dlaczego to próbuje zastąpić oryginalny plik mdf? Nie jestRelocateFiles rzeczy powinny określać, że chcesz, aby były zapisywane wróżn nazwa pliku fizycznego?

questionAnswers(2)

yourAnswerToTheQuestion