Kopie zapasowe bazy danych


2

Mam 10 GB RDBMS (SQL Server).Chciałbym poprzeć go tak często, jak to możliwe, ale wydaje mi się, że będę potrzebował bardzo dużo miejsca, aby stało się to kilka razy dziennie.

Jak często uzasadnione jest tworzenie kopii zapasowej bazy danych o takim rozmiarze?Jak są zwykle przechowywane kopie zapasowe?

Zajrzałem do Amazon S3 i zastanawiam się, jak często ludzie korzystają z takiej usługi do wykonywania kopii zapasowych DB?

  0

Zgadzam się z Thoreau, jednak ponieważ powiedziałeś, że chciałbyś mieć jak najwięcej kopii zapasowych, możesz chcieć częściej wykonywać kopie przyrostowe/różnicowe, na przykład co 2-6 godzin, w zależności od potrzeb. 14 wrz. 112011-09-14 15:22:23

1

Z którą wersją SQL pracujesz?Co oznacza „tak często, jak to możliwe”?Dlaczego chcesz to zrobić?

Nie musisz brać pełnych kopii zapasowych.Możesz robić raz w tygodniu pełne i różnicowe co noc.Dzięki t-sql lub SSMS możesz automatycznie usuwać kopie zapasowe po liczbie dni, dzięki czemu kopie zapasowe będą uporządkowane.

Tak często jak to możliwe?Dlaczego nie wykonywać kopii zapasowych dziennika transakcji co 5 minut, a następnie usuwać je co 5 dni?

:: Dodałem więcej pytań ::


4

Myślę, że głównym pytaniem nie jest to, jak często inni ludzie wykonują kopie zapasowe swoich baz danych - ale jaki poziom strat firma przyjmie.Jeśli twój serwer umrze, czy będą zadowoleni wracając do pliku kopii zapasowej sprzed 24 godzin, czy będą potrzebować go od godziny temu?

Wszystkie nasze produkcyjne bazy danych wykonują pełną kopię zapasową raz dziennie, a następnie uruchamiają kopie zapasowe dziennika transakcji co godzinę.W przypadku całkowitej awarii nasz najgorszy scenariusz polega na tym, że tracimy godzinę danych (chociaż w rzeczywistości używamy dublowania bazy danych, aby się przed tym chronić).Kopie zapasowe dziennika transakcji dają również możliwość przywracania w określonym momencie: http://msdn.microsoft.com/en-us/library/ms179451.aspx

Innym czynnikiem jest model odzyskiwania bazy danych - jeśli jesteś w trybie pełnego odzyskiwania, będziesz potrzebować kopii zapasowych dziennika transakcji, aby uniemożliwić zarządzanie dziennikiem transakcji.Natomiast jeśli używasz prostego odzyskiwania, kopie zapasowe dziennika transakcji nie są opcją.

To przyzwoity punkt wyjścia: http://msdn.microsoft.com/en-us/library/ms191239.aspx

Mam nadzieję, że pomaga ...


1

Powiedzmy, że masz wspólny scenariusz biznesowy, w którym czas pracy wynosi: 9: 00-17: 00 od poniedziałku do piątku.Wtedy zasugerowałbym: Pełna kopia zapasowa w niedzielę wieczorem.Kopie różnicowe o 8 rano, 6 po południu i 1 nad ranem (aby skrócić czas odzyskiwania).Rejestruj kopie zapasowe co godzinę lub w zależności od potrzeb firmy.

W zależności od okresu przechowywania powinieneś mieć zadanie automatycznego czyszczenia, aby usunąć stare pliki kopii zapasowych.

Powinieneś przechowywać kopie zapasowe na jakiejś formie nadmiarowego dysku (lustrzanego).

Jeśli korzystasz z Amazon S3, będziesz musiał zapłacić za przepustowość, przechowywanie i pobieranie/wysyłanie żądań.Potem jest kolejna komplikacja, jeśli twój DB przechowuje poufne dane.Zamiast tego możesz uzyskać dysk zewnętrzny lub urządzenie NAS i przechowywać na nich kopie zapasowe.Cena nie powinna być problemem, ponieważ dysk jest tani.


5

Wygląda na to, że nie rozumiesz, jak działają kopie zapasowe w SQL Server.W SQL Server istnieją trzy różne rodzaje kopii zapasowych.

PEŁNA - pełne kopie zapasowe bazy danych zrzucają całą bazę danych i aktywny dziennik transakcji na pojedynczy (lub rozłożony, ale pozwala ignorować tę funkcję na teraz) plik na dysku.

RÓŻNICA - Różnicowe kopie zapasowe bazy danych tworzą kopię zapasową wszystkich danych, które zostały zmienione od czasu ostatniej pełnej kopii zapasowej do pliku kopii zapasowej.Aby przywrócić z różnicowej kopii zapasowej, MUSISZ mieć pełną kopię zapasową, która została wykonana przed wykonaniem różnicowej kopii zapasowej.

LOG - Archiwizuj kopie zapasowe tylko danych, które są aktualnie w dzienniku transakcji.Kopie zapasowe dziennika dają możliwość przywrócenia bazy danych do określonego punktu czasu (na przykład, jeśli ktoś upuścił tabelę, którą można przywrócić do punktu, wystarczy przywrócić tabelę i upuścić wszystkie dane z tej tabeli).Kopie zapasowe LOG wymagają, aby twoja baza danych była w trybie FULL lub BULK_LOGGED.Aby przywrócić kopie zapasowe dziennika, musisz mieć najnowszą pełną kopię zapasową wykonaną przed utworzeniem kopii zapasowej dziennika, którą chcesz przywrócić, opcjonalnie różnicową kopię zapasową między pełną kopią zapasową a kopią zapasową dziennika oraz wszystkie kopie zapasowe dziennika między pełną lub różnicową kopią zapasową i ostatni plik dziennika, do którego chcesz przywrócić.

Z tego, co opisałeś, brzmi, jakbyś musiał stracić jak najmniej danych.Musisz zmienić tryb odzyskiwania na FULL lub BULK_LOGGED (FULL jest tym, co większość ludzi wybiera), a następnie co kilka minut konfiguruje codzienne pełne kopie zapasowe i kopie zapasowe dziennika transakcji.Częstotliwość uruchamiania kopii zapasowych dziennika zależy od tego, ile danych możesz stracić.Biznes powinien być tym, który ustawia tę liczbę, nie ty.Nie jest niczym niezwykłym uruchamianie kopii zapasowych dziennika co 10-15 minut, w zależności od wymagań.

Po skonfigurowaniu kopii zapasowych należy skonfigurować coś, aby usunąć pliki po kilku dniach (w zależności od wymagań biznesowych i ilości miejsca, które można przechowywać).

Będziesz chciał wykonać kopię zapasową baz danych na serwerze w innej strefie dostępności EC2, aby w przypadku powtórzenia się awarii Amazon na początku tego roku dane kopii zapasowej były nadal bezpieczne.

Być może warto byłoby zatrudnić konsultanta na godzinę lub dwie, aby upewnić się, że kopie zapasowe są wykonane poprawnie.Jeśli nie są wykonane prawidłowo, teraz jest czas, aby to rozgryźć, a nie kiedy system zawiódł.