Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Ten artykuł dotyczący tworzenia kopii zapasowej i przywracania jest odpowiedni dla wszystkich baz danych programu SQL Server.
Różnicowa kopia zapasowa jest oparta na najnowszej, pełnej kopii zapasowej danych. Różnicowa kopia zapasowa przechwytuje tylko dane, które uległy zmianie od tej pełnej kopii zapasowej. Pełna kopia zapasowa, na której opiera się kopia różnicowa, jest nazywana jej podstawą. Pełne kopie zapasowe, z wyjątkiem kopii zapasowych tylko do kopiowania, mogą służyć jako podstawa dla serii różnicowych kopii zapasowych, w tym kopii zapasowych bazy danych, częściowych kopii zapasowych i kopii zapasowych plików. Podstawowa kopia zapasowa różnicowej kopii zapasowej plików może być zawarta w pełnej kopii zapasowej, kopii zapasowej plików lub częściowej kopii zapasowej.
Korzyści
Tworzenie różnicowej kopii zapasowej może być znacznie szybsze niż tworzenie pełnej kopii zapasowej. Różnicowa kopia zapasowa rejestruje tylko dane, które uległy zmianie od czasu utworzenia pełnej kopii zapasowej, na której opiera się różnicowa kopia zapasowa. Ułatwia to częste tworzenie kopii zapasowych danych, co zmniejsza ryzyko utraty danych. Zanim jednak przywrócisz różnicową kopię zapasową, musisz najpierw przywrócić jej bazę. W związku z tym przywracanie z różnicowej kopii zapasowej musi wykonać więcej kroków i czasu niż przywrócenie z pełnej kopii zapasowej, ponieważ wymagane są dwa pliki kopii zapasowej.
Różnicowe kopie zapasowe baz danych są szczególnie przydatne, jeśli podzbiór bazy danych jest modyfikowany częściej niż reszta bazy danych. W takich przypadkach różnicowe kopie zapasowe baz danych umożliwiają częste tworzenie kopii zapasowych bez konieczności wykonywania pełnych kopii zapasowych bazy danych.
W modelu pełnego odzyskiwania użycie różnicowych kopii zapasowych może zmniejszyć liczbę kopii zapasowych dziennika, które należy przywrócić.
Omówienie różnicowych kopii zapasowych
Różnicowa kopia zapasowa przechwytuje stan wszystkich zakresów (kolekcji ośmiu fizycznie przylegających stron), które zmieniły się między utworzeniem różnicowej bazy a utworzeniem różnicowej kopii zapasowej. Oznacza to, że rozmiar danej różnicowej kopii zapasowej zależy od ilości danych, które uległy zmianie od podstawy. Ogólnie rzecz biorąc, im starsza jest baza, tym większa będzie nowa różnicowa kopia zapasowa. W serii różnicowych kopii zapasowych często aktualizowany zakres może zawierać różne dane w każdej różnicowej kopii zapasowej.
Na poniższej ilustracji przedstawiono sposób działania różnicowej kopii zapasowej. Na rysunku przedstawiono 24 zakresy danych, z których 6 uległo zmianie. Różnicowa kopia zapasowa zawiera tylko te sześć zakresów danych. Operacja różnicowej kopii zapasowej jest oparta na stronie bitmapy, która zawiera bit dla każdego zakresu. Dla każdego zakresu zaktualizowanego od podstawy bit jest ustawiony na 1 w mapie bitowej.
Uwaga / Notatka
Różnicowa mapa bitowa nie jest aktualizowana przez kopię zapasową typu copy-only. W związku z tym kopia zapasowa tylko do kopiowania nie ma wpływu na kolejne różnicowe kopie zapasowe.
Różnicowa kopia zapasowa wykonywana niedługo po jej bazie może być znacznie mniejsza niż baza kopii różnicowej. Pozwala to zaoszczędzić miejsce do magazynowania i czas tworzenia kopii zapasowej. Jednak w miarę jak baza danych zmienia się z upływem czasu, wzrasta różnica między nią a określoną bazą różnicową. Im dłuższy czas między różnicową kopią zapasową a jej bazą, tym większa prawdopodobnie będzie różnicowa kopia zapasowa. Oznacza to, że różnicowe kopie zapasowe mogą ostatecznie zbliżyć się rozmiarem do bazy różnicowej. Duża różnicowa kopia zapasowa traci korzyści szybszej i mniejszej kopii zapasowej.
W miarę zwiększania rozmiaru różnicowych kopii zapasowych przywracanie różnicowej kopii zapasowej może znacznie zwiększyć czas wymagany do przywrócenia bazy danych. W związku z tym zalecamy utworzenie nowej pełnej kopii zapasowej w ustalonych odstępach czasu w celu ustanowienia nowej bazy różnicowej danych. Na przykład możesz wykonać cotygodniową pełną kopię zapasową całej bazy danych (czyli pełną kopię zapasową bazy danych), a następnie zwykłą serię różnicowych kopii zapasowych bazy danych w ciągu tygodnia.
** W czasie przywracania, przed przywróceniem różnicowej kopii zapasowej, należy przywrócić jej kopię zapasową bazową. Następnie przywróć tylko najnowszą różnicową kopię zapasową, aby przenieść bazę danych do czasu utworzenia tej różnicowej kopii zapasowej. Zazwyczaj można przywrócić najnowszą pełną kopię zapasową, a następnie najnowszą różnicową kopię zapasową opartą na tej pełnej kopii zapasowej.
Różnicowe kopie zapasowe baz danych z tabelami zoptymalizowanymi pod kątem pamięci
Aby uzyskać informacje na temat różnicowych kopii zapasowych i baz danych z tabelami zoptymalizowanymi pod kątem pamięci, zobacz Tworzenie kopii zapasowych bazy danych przy użyciu tabel Memory-Optimized.
Różnicowe kopie zapasowe baz danych tylko do odczytu
W przypadku baz danych tylko do odczytu pełne kopie zapasowe używane samodzielnie są łatwiejsze do zarządzania niż w przypadku korzystania z różnicowych kopii zapasowych. Gdy baza danych jest tylko do odczytu, kopia zapasowa i inne operacje nie mogą zmieniać metadanych zawartych w pliku. W związku z tym metadane wymagane przez różnicową kopię zapasową, takie jak numer sekwencji dziennika, w którym rozpoczyna się różnicowa kopia zapasowa (różnicowa baza LSN) jest przechowywana w master bazie danych. Jeśli podstawa różnicowa jest wybrana, gdy baza danych jest tylko do odczytu, różnicowa mapa bitowa wskazuje więcej zmian niż zaszło od czasu podstawowej kopii zapasowej. Dodatkowe dane są odczytywane przez kopię zapasową, ale nie są zapisywane w kopii zapasowej, ponieważ differential_base_lsn dane przechowywane w tabeli systemu zestawu kopii zapasowych są używane do określania, czy dane uległy zmianie od podstawy.
Gdy baza danych tylko do odczytu zostanie ponownie skompilowana, przywrócona lub odłączona i dołączona, informacje różnicowe bazy zostaną utracone. Dzieje się tak, ponieważ master baza danych nie jest synchronizowana z bazą danych użytkownika. Aparat bazy danych programu SQL Server nie może wykryć ani zapobiec temu problemowi. Wszelkie późniejsze różnicowe kopie zapasowe nie są oparte na najnowszej pełnej kopii zapasowej i mogą zapewnić nieoczekiwane wyniki. Aby ustanowić nową bazę różnicową, zalecamy utworzenie pełnej kopii zapasowej bazy danych.
Najlepsze rozwiązania dotyczące używania różnicowych kopii zapasowych z bazą danych tylko do odczytu
Po utworzeniu pełnej kopii zapasowej bazy danych tylko do odczytu, jeśli zamierzasz utworzyć kolejną różnicową kopię zapasową, utwórz kopię zapasową master bazy danych.
master Jeśli baza danych zostanie utracona, przywróć ją przed przywróceniem różnicowej kopii zapasowej bazy danych użytkownika.
Jeśli odłączysz i dołączysz bazę danych tylko do odczytu, dla której planujesz później korzystać z różnicowych kopii zapasowych, jak najszybciej wykonaj pełną kopię zapasową zarówno tej bazy danych, jak i bazy danych master.
Powiązane zadania
- tworzenie różnicowej kopii zapasowej bazy danych (SQL Server)
- Przywracanie różnicowej kopii zapasowej bazy danych (SQL Server)