Udostępnij za pośrednictwem


Omówienie kopii zapasowej (SQL Server)

Dotyczy:programu SQL Server

W tym artykule przedstawiono składnik kopii zapasowej programu SQL Server. Tworzenie kopii zapasowej bazy danych programu SQL Server jest niezbędne do ochrony danych. W tej dyskusji omówiono typy kopii zapasowych i ograniczenia tworzenia kopii zapasowych. W tym temacie przedstawiono również urządzenia kopii zapasowej programu SQL Server i nośniki kopii zapasowych.

Regulamin

  • tworzyć kopię zapasową [czasownik]: Tworzy kopie danych lub rekordów dziennika z bazy danych SQL Server lub dziennika transakcji i zapisuje je na urządzeniu kopii zapasowej, takim jak dysk, w celu utworzenia kopii zapasowej danych lub kopii zapasowej dziennika.

  • kopia zapasowa [noun]: kopia danych programu SQL Server, której można użyć do przywracania i odzyskiwania danych po awarii. Kopia zapasowa danych programu SQL Server jest tworzona na poziomie bazy danych lub co najmniej jednego z jego plików lub grup plików. Nie można utworzyć kopii zapasowych na poziomie tabeli. Oprócz kopii zapasowych danych model pełnego odzyskiwania wymaga utworzenia kopii zapasowych dziennika transakcji.

  • model odzyskiwania: właściwość bazy danych, która kontroluje konserwację dziennika transakcji w bazie danych. Istnieją trzy modele odzyskiwania: proste, pełne i zarejestrowane zbiorczo. Model odzyskiwania bazy danych określa wymagania dotyczące tworzenia kopii zapasowych i przywracania.

  • przywracania: wielofazowy proces, który kopiuje wszystkie strony danych i dzienników z określonej kopii zapasowej programu SQL Server do określonej bazy danych, a następnie przekazuje wszystkie transakcje, które są rejestrowane w kopii zapasowej, stosując zarejestrowane zmiany w celu przeniesienia danych do przodu w czasie.

Typy kopii zapasowych

  • kopii zapasowej tylko do kopiowania: specjalna kopia zapasowa, która jest niezależna od regularnej sekwencji kopii zapasowych programu SQL Server.

  • kopii zapasowej danych: kopia zapasowa danych w pełnej bazie danych (kopia zapasowa bazy danych), częściowa baza danych (częściowa kopia zapasowa) lub zestaw plików lub grup plików (kopia zapasowa pliku).

  • kopia zapasowa bazy danych: kopia zapasowa bazy danych. Pełne kopie zapasowe bazy danych reprezentują całą bazę danych w momencie zakończenia tworzenia kopii zapasowej. Różnicowe kopie zapasowe baz danych zawierają tylko zmiany wprowadzone w bazie danych od czasu utworzenia najnowszej pełnej kopii zapasowej bazy danych.

  • różnicowej kopii zapasowej: kopia zapasowa danych oparta na najnowszej pełnej kopii zapasowej kompletnej lub częściowej bazy danych lub zestawu plików lub grup danych (podstawy różnicowej) i która zawiera tylko zakresy danych, które uległy zmianie od podstawy różnicowej.

    Częściowa kopia zapasowa różnicowa rejestruje tylko zakresy danych, które uległy zmianie w grupach plików od czasu poprzedniej kopii zapasowej częściowej, znanej jako baza różnicy.

  • pełna kopia zapasowa: kopia zapasowa danych zawierająca wszystkie dane w określonej bazie danych lub zestawie grup plików czy plików, a także wystarczająco dziennika, aby umożliwić odzyskanie tych danych.

  • kopii zapasowej dziennika: Kopia zapasowa dzienników transakcji, zawierająca wszystkie rekordy dziennika, których kopia zapasowa nie została utworzona w poprzedniej kopii zapasowej dziennika (model pełnego odzyskiwania).

  • kopia zapasowa pliku: kopia zapasowa jednego lub więcej plików bazy danych lub grup plików.

  • częściowa kopia zapasowa: zawiera dane z niektórych grup plików w bazie danych, w tym dane w podstawowej grupie plików, każdą grupę plików do odczytu i zapisu oraz dowolne opcjonalnie określone pliki tylko do odczytu.

Terminy i definicje multimediów kopii zapasowych

Kompresja kopii zapasowej

Program SQL Server 2008 (10.0.x) Enterprise edition i nowsze wersje obsługują kompresowanie kopii zapasowych, a program SQL Server 2008 (10.0.x) i nowsze wersje mogą przywrócić skompresowaną kopię zapasową. Program SQL Server 2016 (13.x) w wersji Standard i nowszej obsługuje kompresowanie kopii zapasowych i przywracanie skompresowanych kopii zapasowych. Aby uzyskać więcej informacji, zobacz Kompresja kopii zapasowej (SQL Server).

Ograniczenia operacji tworzenia kopii zapasowych

Tworzenie kopii zapasowej może wystąpić, gdy baza danych jest w trybie online i jest używana. Istnieją jednak następujące ograniczenia:

Nie można utworzyć kopii zapasowej danych w trybie offline

Każda operacja tworzenia kopii zapasowej, która niejawnie lub jawnie odwołuje się do danych, które są w trybie offline, kończy się niepowodzeniem. Oto kilka typowych przykładów:

  • Żądasz pełnej kopii zapasowej bazy danych, ale jedna grupa plików bazy danych jest w trybie offline. Ponieważ wszystkie grupy plików są niejawnie zawarte w pełnej kopii zapasowej bazy danych, ta operacja kończy się niepowodzeniem.

    Aby utworzyć kopię zapasową tej bazy danych, możesz użyć kopii zapasowej pliku i określić tylko grupy plików, które są w trybie online.

  • Żądasz częściowej kopii zapasowej, ale grupa plików odczytu/zapisu jest w trybie offline. Ponieważ wszystkie grupy plików odczytu/zapisu są wymagane dla częściowej kopii zapasowej, operacja kończy się niepowodzeniem.

  • Zażądasz kopii zapasowej plików określonych plików, ale jeden z plików nie jest w trybie online. Operacja kończy się niepowodzeniem. Aby utworzyć kopię zapasową plików online, możesz pominąć plik offline z listy plików i powtórzyć operację.

Zazwyczaj tworzenie kopii zapasowej dziennika kończy się powodzeniem, nawet jeśli co najmniej jeden plik danych jest niedostępny. Jeśli jednak dowolny plik zawiera zmiany zarejestrowane zbiorczo w ramach modelu odzyskiwania rejestrowanego zbiorczo, wszystkie pliki muszą być w trybie online, aby kopia zapasowa powiodła się.

Ograniczenia współbieżności

Program SQL Server używa procesu tworzenia kopii zapasowej online, aby umożliwić tworzenie kopii zapasowej bazy danych, gdy baza danych jest nadal używana. Podczas tworzenia kopii zapasowej większość operacji jest możliwa; na przykład instrukcje INSERT, UPDATE lub DELETE są dozwolone podczas operacji tworzenia kopii zapasowej. Jeśli jednak spróbujesz uruchomić operację tworzenia kopii zapasowej podczas tworzenia lub usuwania pliku bazy danych, operacja tworzenia kopii zapasowej czeka na zakończenie operacji tworzenia lub usuwania lub upłynął limit czasu tworzenia kopii zapasowej.

Operacje, które nie mogą być uruchamiane podczas tworzenia kopii zapasowej bazy danych lub tworzenia kopii zapasowej dziennika transakcji, obejmują następujące elementy:

  • Operacje zarządzania plikami, takie jak instrukcja ALTER DATABASE z opcjami ADD FILE lub REMOVE FILE.

  • Zmniejsz bazę danych lub zmniejsz operacje na plikach. Obejmuje to operacje automatycznego zmniejszania.

  • Jeśli spróbujesz utworzyć lub usunąć plik bazy danych podczas wykonywania operacji tworzenia kopii zapasowej, operacja tworzenia lub usuwania zakończy się niepowodzeniem.

Jeśli operacja tworzenia kopii zapasowej nakłada się na operację zarządzania plikami lub operację zmniejszania, występuje konflikt. Niezależnie od tego, które operacje powodujące konflikt zaczęły się najpierw, druga operacja czeka na przekroczenie limitu czasu blokady ustawionej przez pierwszą operację. (Limit czasu jest kontrolowany przez ustawienie limitu czasu sesji). Jeśli blokada zostanie zwolniona w okresie przekroczenia limitu czasu, druga operacja będzie kontynuowana. Jeśli limit czasu blokady upłynął, druga operacja zakończy się niepowodzeniem.

Powiązane zadania

Urządzenia do tworzenia kopii zapasowych i nośniki kopii zapasowych

Tworzenie kopii zapasowej

Notatka

W przypadku kopii zapasowych częściowych lub tylko kopiujących, należy użyć instrukcji Transact-SQL BACKUP z opcją PARTIAL lub COPY_ONLY odpowiednio.