Muszę przenieść bazę danych (jako całość) na inny serwer, aby utworzyć zduplikowaną bazę danych, aby skonfigurować inne środowisko testowe.
Mam dwie możliwości:
- Wykonaj pełną kopię zapasową na serwerze źródłowym / przywróć na serwerze docelowym;
- Odłącz na serwerze źródłowym / dołącz na serwerze docelowym.
Jakie są zalety i wady obu rozwiązań zgodnie z moimi wymaganiami?
Używam SQL Server 2008 Enterprise.
źródło
Jeśli zdecydujesz się na wykonanie kopii zapasowej / przywrócenie, użyj opcji Z KOPIOWĄ TYLKO podczas tworzenia kopii zapasowej, aby upewnić się, że łańcuch kopii zapasowych istniejącego planu konserwacji nie jest uszkodzony.
Plik .bak dobrze się kompresuje, więc jeśli zdecydujesz się na zrobienie kopii zapasowej, kompresowanie kopii zapasowej przed przeniesieniem może zaoszczędzić trochę czasu przesyłania.
źródło
Poszedłbym do tworzenia kopii zapasowych / przywracania, ponieważ pozostawia oryginalną bazę danych w stanie operacyjnym.
Zwłaszcza jeśli wykonujesz konwersję „produkcyjną do testowania”, ważne jest, aby produkcyjna baza danych pozostała online.
Kopia zapasowa / przywracanie jest również bezpieczniejszą opcją: co się stanie, jeśli plik zostanie uszkodzony gdzieś pomiędzy rozpoczęciem odłączania, kopiowania, załączania itp.? Przynajmniej jeśli wykonasz kopię zapasową, a plik ulegnie uszkodzeniu, możesz zacząć od nowa. Jeśli tak się stanie z odłączeniem, Twoja baza danych zniknie.
Ponadto, dla mnie (chociaż jest to bardziej uczucie niż cokolwiek innego), tworzenie kopii zapasowych / przywracanie to „codzienna praca”, podczas gdy odłączanie / dołączanie to coś, co robisz w wyjątkowych okolicznościach. Nie pytaj mnie jednak, skąd mam ten pomysł ;-)
źródło
Zawsze miałem problemy z częścią „przywracania” kopii zapasowej / przywracania. Nie mogę przytoczyć szczegółów, ponieważ ostatecznie zrezygnowałem z niego i od tego czasu odkładam / kopiuję / dołączam.
Jedyną rzeczą w odłączaniu jest to, że MUSISZ mieć pewność, że DBMS również nie usunie bazy danych. Tak się stało i nie jest to ładny widok.
źródło
Polecam
copy_only
tworzenie kopii zapasowej przy użyciu tej metody z powłoki DOS (aby nie przerywać dzienników transakcji) :Uruchom z
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
katalogu:Gdzie
backup.bat
zawiera (dodano podział linii dla czytelności) :źródło