Udostępnij za pośrednictwem


Understanding How Restore and Recovery of Backups Work in SQL Server

 W tym temacie odnosi się do wszystkich SQL Server bazy danych.

Przywracanie to proces kopiowania danych z kopia zapasowa i zastosowania zarejestrowanych transakcji do danych w celu przeniesienia go do przodu do punktu docelowego odzyskiwanie.Dane lub różnicowa kopia zapasowa zawiera wystarczające rekordy dziennik transakcji, aby umożliwić stopniowe do przodu aktywnych transakcji w ramach każdej kopii zapasowej przywracanie.Każdej kopia zapasowa zawierają również dziennik wystarczające do przywrócenia niezakończone transakcje do bazy danych do stanu, czyli transakcyjnie spójne i można używać.Proces stopniowych niezakończone transakcje terminowe, i dostosowanie bazy danych w trybie online jest znany jako odzyskiwanie.

Zestaw do przodu w pakiecie poprawek

Proces stosowania zmian rejestrowanych do danych w bazie danych, aby przenieść dane do przodu w czasie jest znany jako stopniowe do przodu.Zestaw wszystkich danych przywracany jest nazywany zestaw do przeniesienia na przyszły okres.A zestaw do przeniesienia na przyszły okres jest definiowana przez Przywracanie jednego lub kilku pełne kopie zapasowe, takie jak bazy danych lub częściowej kopia zapasowa lub zestaw kopii zapasowych plików.Jeśli instrukcja przywracanie filegroups, pliki lub strony, tylko te elementy są uwzględniane w zestaw do przeniesienia na przyszły okres.W przeciwnym razie, wszystkie pliki w kopia zapasowa może być przywrócony znajdują się w zestaw do przeniesienia na przyszły okres.Jeśli pełna kopia zapasowa zawiera rekordy dziennika, przywracane dane będą się wycofać do przodu przy użyciu tego dziennika.

Uwaga

Jeśli określisz grupa plików podczas przywracania Przywracanie obejmuje całą grupa plików, ponieważ aktualnie istnieje.Obejmuje to wszystkie pliki dodawane do grupa plików, w, ponieważ wykonano kopię zapasową.Aby uzyskać więcej informacji zobaczControlling Creation of Added Files During Roll Forward.

Różnicowych kopii zapasowych, jeśli wszystkie pliki zostały dodane do bazy danych od różnicy podstawy Przywracanie różnicowa kopia zapasowa może zastąpić stron zestaw do przeniesienia na przyszły okres z danymi pochodzącymi z różnicowa kopia zapasowa.Aby uzyskać więcej informacji zobaczUsing Differential Backups.

Przywracanie różnicowej kopia zapasowa aktualizuje strony tylko wtedy, gdy strona jest w zestaw do przeniesienia na przyszły okres strony znajduje się w kopia zapasowa, a instrukcja RESTORE wyświetla stronę lub plik lub nie są wyświetlane wszystkie pliki lub strony.

W obszarze modeli odzyskiwanie pełny i rejestrowane zbiorczej w dzienniku zapasowe muszą być oddzielnie.Po przywróceniu danych i (opcjonalnie) różnicowe kopie zapasowe, czy zazwyczaj przywracanie kopii zapasowych kolejnych dziennika, aby przywrócić bazę danych do momentu awarii.Przywracanie kopia zapasowa dziennika dziennika powoduje do przodu wszystkich stron zestaw do przeniesienia na przyszły okres.Aby uzyskać więcej informacji na temat tworzenia kopii zapasowych dziennika Zobacz Working with Transaction Log Backups.

Przywracanie sekwencje

Poszczególne scenariusze przywracanie jest implementowane za pomocą jednego lub kilku kroków przywracanie (operacji), o nazwie sekwencja przywracanie.Każda operacja odnosi się do osoby Transact-SQL przywracanie instrukcja. Sekwencja przywracanie przenosi usterce danych za pomocą jednego lub kilku fazach przywracanie.

Aby uzyskać więcej informacji na temat Transact-SQL Przywracanie sekwencji i konstruować je, zobacz temat Working with Restore Sequences for SQL Server Databases.

Fazy przywracanie

Przywracanie jest procesem wielofazowe.Możliwe fazy operacji przywracanie zawierają kopii danych, ponowne wykonanie (@@) i cofnąć faz (ro wstecz):

  • Fazy kopiowania danych polega na kopiowaniu wszystkich danych, dziennika i indeksu strony z nośnika kopia zapasowa bazy danych do plików bazy danych.

  • faza ponownego wykonania Dotyczy zarejestrowanych transakcji kopiowane z kopia zapasowa do przenieść na przyszły okres tych danych do momentu odzyskiwanie danych.W tym momencie bazy danych zazwyczaj ma niezakończone transakcje i jest w stanie nie do użytku.W takim przypadek cofnąć fazy jest wymagane w ramach odzyskiwanie bazy danych.

  • faza cofania jest pierwszą częścią odzyskiwanie, toczy się ponownie wszystkie niezakończone transakcje i udostępnia użytkownikom w bazie danych.Po wycofać w fazie, nie można przywrócić kolejnych kopii zapasowych.

Pozostałej części tej sekcji sprawdza, czy te etapy, bardziej szczegółowo.

Faza kopiowania danych

Pierwsza faza w dowolnym przywracanie proces jest fazy kopiowania danych.Fazy kopiowania danych inicjuje zawartość bazy danych, pliki lub strony może być przywrócony.Ta faza jest wykonywana przez przywracania bazy danych, Przywracanie plików i przywracania strona operacje przy użyciu pełnych ani różnicowych kopii zapasowych.

Fazy kopiowania danych polega na kopiowaniu danych z jednego lub kilku pełne kopie zapasowe i, opcjonalnie, różnicowe kopie zapasowe, a następnie Resetowanie zawartości bazy danych, których dotyczy problem, pliki lub strony do czas, w którym zostały one przechwycone przez te kopie zapasowe.

Najstarsze pliku lub strona w zestaw do przeniesienia na przyszły okres określa punkt początkowy dla następnego etapu: ponowne wykonanie (@@).

ponowne wykonanie fazy (przenieść na przyszły okres)

ponowne wykonanie (or przenieść na przyszły okres) jest to proces ponawianie rejestrowane zmiany danych w zestawie do przodu listy, aby przenieść dane do przodu w czas.Do wykonania do przodu, rolki SQL Server Database Engine procesy dziennika kopii zapasowych, jak zostaną one przywrócone, począwszy od dziennik, który jest zawarty w pełne kopie zapasowe

Przywracanie pozwala na uniknięcie niepotrzebnych przenieść na przyszły okres.Ogólnie rzecz biorąc Jeśli dane zostały tylko do odczytu, gdy została wykonana kopia zapasowa, a pozostała tylko do odczytu, przenieść na przyszły okres nie jest konieczne i jest pomijane.

punkt odzyskiwanie

Celem przenieść na przyszły okres jest zwrócić dane do pierwotnego stanu przy punkt odzyskiwanie.The punkt odzyskiwania is the point to which the user specifies that the zestaw of data be recovered.W obszarze pełnego model odzyskiwanie, można określić punktu odzyskiwanie jako określonego punktu w czasie, oznaczona transakcja lub numer sekwencyjny dziennika.W modelu odzyskiwanie rejestrowane zbiorczej można przywrócić do punktu w czasie tylko wtedy, gdy operacje zbiorcze nie zostały wykonane od czas wykonania poprzedniej kopia zapasowa dziennika dziennika.

ponowne wykonanie spójności

W faza ponownego wykonania, danych jest zawsze jej do przodu do punktu, który jest ponowne wykonanie zgodne ze stanem bazy danych w punkcie odzyskiwanie.Wszystkie dane ma już jej do przodu do punktu, w których cofnąć może występować.

Stanu bazy danych jest zdefiniowana przez plik podstawowy w następujący sposób:

  • Jeśli przywracana jest podstawowym plikiem punkt odzyskiwanie określa stan całej bazy danych.Na przykład, jeśli baza danych jest są odzyskiwane do punktu w czas tuż przed tabela został przypadkowo usunięty, całej bazy danych musi zostać przywrócony do tego samego punktu w czas.

  • If the primary file is not being restored, the database state is known and restored data is rolled forward to a recovery point that is transactionally consistent with the database.SQL Server enforces this.

Jednak baza danych może zawierać zmiany wprowadzone przez transakcji, które są nieprzydzielonych w punkt odzyskiwanie.Do przywracanie trybu online, zostanie odzyskanych danych do miejsca czas spójne z aktualnym stanem online częścią bazy danych.

różnicowa kopia zapasowa pomija do przodu do, kiedy wykonano różnicowa kopia zapasowa.Ze stron w zestaw do przeniesienia na przyszły okres są zastępowane z każdej z nich nowszą z różnicowa kopia zapasowa.

cofnąć fazy (Wstecz w pakiecie poprawek) i odzyskiwanie

Po faza ponownego wykonania ma do przodu wycofać wszystkie transakcje dziennika bazy danych zazwyczaj zawiera zmiany wprowadzone przez transakcji, które są nieprzydzielonych w punkcie odzyskiwanie.W ten sposób walcowanego przekazują dane transakcyjnie niespójne.Proces odzyskiwanie zostanie otwarty dziennik transakcji do identyfikowania niezakończone transakcje.Niezakończone transakcje są cofnięte przez są przywracane, jeśli nie posiadają blokady, które uniemożliwiają inne transakcje wyświetlanie transakcyjnie niespójne dane.Krok ten jest nazywany cofnąć (or wycofać) Faza.Jeśli dane są już transakcyjnie spójne na początku procesu odzyskiwanie faza cofnąć jest pomijane.Po transakcyjnie zgodny z bazą danych odzyskiwanie przywraca bazę danych w trybie online.

Po przywróceniu kopii zapasowej jednego lub kilku odzyskiwanie zazwyczaj zawiera faz ponowne wykonanie i cofnąć czynności.Każdy pełnych i różnicowych kopii zapasowych zawiera za mało rekordów dziennik transakcji, pozwalający na danych z tej kopia zapasowa do odzyskania do stanu spójności automatycznej.

Uwaga

Podczas odzyskiwanie awaryjnego lub dublowanie pracy awaryjnej, bazy danych SQL Server 2005 Enterprise Edition i jego nowszych wersjach pozwolić użytkownikom na dostęp do bazy danych podczas faza cofania. Jest to określane jako Funkcja szybkiego odzyskiwanie.Funkcja szybkiego odzyskiwanie jest możliwe, ponieważ transakcje, które były nieprzydzielonych po wystąpieniu awarii ponownie pobrać blokady, niezależnie od ich przechowywane przed awarii.W czasie, gdy transakcje są zostanie przywrócona, blokad ich ochronę przed zakłóceń przez użytkowników.

Relacje między odzyskiwanie i przywrócić fazy nie odzyskiwanie opcje.

Określonego sprawozdania przywracanie kończy się po fazie ponowne wykonanie lub za pośrednictwem w dalszym ciągu faza cofania, zależności od tego, czy instrukcja określone WITH NORECOVERY w następujący sposób:

  • WITH odzyskiwanie zawiera zarówno ponowne wykonanie i cofnąć etapów i odzyskuje bazy danych; nie można przywrócić dodatkowe kopie zapasowe.Jest to wartość domyślna.

    Jeśli zestaw do przeniesienia na przyszły okres ma nie został jej do przodu tyle daleko do być zgodne z bazy danych, nie może być fazy wycofywania.The Database Engine issues an error and odzyskiwanie stops.

    Jeśli cała zestaw do przeniesienia na przyszły okres jest zgodny z bazą danych jest wykonywana odzyskiwanie i bazy danych może zostać wprowadzony w tryb online.

  • WITH NORECOVERY pomija faza cofania w celu zachowania niezakończone transakcje.Pomijając etap cofnąć umożliwia przywracania danych z innej kopii zapasowych do dalszego bazy danych do przodu czas.Od czasu do czasu przywracanie WITH NORECOVERY rolkach przekazują dane, do której jest ona zgodna z bazą danych.W takich przypadkach Database Engine wysyła komunikat informacyjny informujący, że zestaw przenieść na przyszły okres teraz można odzyskać przy użyciu opcji przywrócenia.

    Aby uzyskać informacje na temat zestawów przenieść na przyszły okres zobacz Understanding How Restore and Recovery of Backups Work in SQL Server.

Uwaga

Zamiast trzeci, WITH STANDBY wykracza poza zakres tego tematu.

Aby uzyskać szczegółowy opis tych opcji przywracanie, zobacz przywracanie (języka Transact-SQL).

Ścieżki odzyskiwanie

A Ścieżka odzyskiwanie jest unikatowy zestaw przekształcenia, które mają się w bazie danych w czasie jeszcze utrzymać spójności swoich.Aby uzyskać informacje dotyczące odzyskiwania ścieżek i powiązanych pojęcia rozwidlenia odzyskiwania oraz odzyskiwanie gałęzie zobacz Recovery Paths.