Kopiowanie bazy danych SQL Server 500 GB z produkcji do instancji deweloperskiej

12

Musimy skopiować bazę danych 500 GB z naszego serwera PRODUKCJA na serwer DEV. Mamy tylko okno 5 godzin.

Jaki byłby najszybszy sposób na osiągnięcie tego?


źródło
7
1. Co rozumiesz przez „okno 5 godzin”? Produkcja spadnie na 5 godzin? 2. Czy potrzebujesz absolutnie najnowszej wersji produkcyjnej bazy danych, czy wystarczy najnowsza kopia zapasowa? 3. W jakim trybie odzyskiwania znajduje się twoja produkcyjna baza danych?
Nick Chammas,

Odpowiedzi:

15

Istnieją dwie opcje, które nie spowodują żadnych przestojów w środowisku produkcyjnym:

1) Jeśli chcesz tylko pobrać strukturę bazy danych (nie potrzebujesz danych), możesz po prostu utworzyć skrypt dla produkcyjnej bazy danych. Następnie po prostu uruchom to na serwerze deweloperskim, aby utworzyć bazę danych.

2) Jeśli potrzebujesz bazy danych, a dane po prostu pobierz najnowszą kopię zapasową tej bazy danych i przywróć ją na serwerze programisty. Przekonasz się, że jest to najczęściej stosowana metoda dopasowania serwerów programistycznych do danych produkcyjnych.


źródło
9

Jeśli masz

  • kompresja kopii zapasowej włączona?
  • szybka sieć serwer-serwer (punkt wejścia to 1 GB)

... a następnie po prostu skopiuj go, przywróć. Można to wykonać w skrypcie PowerShell, Perl, cmd.exe itp.

Kiedy mówisz „okno”, zakładam, że masz na myśli 5-godzinny okres produkcji. Załadowanie rozwoju nie może być tak istotne.

gbn
źródło
5

Skopiuj na lokalnie podłączony dysk twardy.

Dlaczego tylko ograniczone okno? Nie kopiuj - załaduj kopię zapasową do dewelopera.

TomTom
źródło
Zgoda. Nie trzeba się odłączać (co wymaga przestoju), naprawdę, gdy przywrócenie kopii zapasowej wystarczy.
p.campbell
2
Popieram kopiowanie kopii zapasowej. Nie trzeba usuwać produkcyjnej bazy danych, aby skopiować ją w dowolnym miejscu. Jeśli potrzebujesz określonego momentu, wykonaj kopię zapasową only_up (SQL 2005+) lub skopiuj kopie zapasowe dziennika tran.
Ben Thul,
2

Być może moja odpowiedź nie pasuje do twojego przypadku użycia, ale czy kiedykolwiek zastanawiałeś się nad skonfigurowaniem, na twoim serwerze deweloperskim, rezerwowej bazy danych za pomocą techniki, takiej jak wysyłanie logów ... abyś mógł przywrócić swoją produktywność nad twoim deweloperem wcześniej i synchronizuj ten egzemplarz ze swoim prod ...

Mam nadzieję, że to pomoże

Darkwookiee
źródło
0

Utwórz plik sekwencji kopii zapasowej. Powiedzmy, że cały rozmiar kopii zapasowej wynosi 500 GB; możesz podzielić ją według potrzeb, utworzyć 10-sekwencyjną kopię zapasową, która składa się z 10 plików kopii zapasowej o rozmiarze 50 GB każdy, a następnie spróbować przywrócić lub przenieść pliki kopii zapasowej jeden po drugim. Zmniejszy ruch w sieci i przywróci czas.

Subir Sankar Das
źródło
3
Witaj Subir i witaj w DBA.SE. Zredagowałem twoją odpowiedź, aby poprawić jej przejrzystość i usunąć podpis na dole zgodnie z naszymi wytycznymi . Dziękuję za Twoją odpowiedź.
Nick Chammas
Nie widzę, w jaki sposób podział pliku na 10 pojedynczych plików wpłynie na czas potrzebny do przetransportowania tych plików przez sieć.
Max Vernon,