How to: Apply a Transaction Log Backup (Transact-SQL)
Aby zastosować dziennik transakcji kopia zapasowa dziennika bazy danych, poniżej muszą być spełnione:
Przed utworzeniem najnowszej kopia zapasowa bazy danych pełnych ani różnicowych, bazy danych musi mieć zostały z model pełnego odzyskiwanie lub modelu odzyskiwanie rejestrowane zbiorczej.
Sekwencja przywracanie musi określono WITH NORECOVERY podczas przywracanie wcześniejszych kopii zapasowych.
Kopie zapasowe dziennika muszą być stosowane w kolejności, w jakiej zostały utworzone, bez żadnych przerw w łańcuchu dziennika.Z wyjątkiem dla ostatniej kopia zapasowa dziennika dziennika należy użyć WITH NORECOVERY w następujący sposób:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;
W przypadku stosowania ostatniej kopia zapasowa dziennika dziennika, można wykonać jedną z następujących czynności:
odzyskać bazy danych w ramach ostatniego wyciągu dziennik kopia zapasowa:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
Czekaj, aby odzyskać bazy danych za pomocą oddzielnych instrukcja przywracanie DATABASE:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO
Oczekiwanie na odzyskanie bazy danych daje możliwość sprawdzenia, czy zostały przywrócone wszystkich kopii zapasowych dziennika konieczne.Ta metoda jest często podczas wykonywania operacji przywracanie punktu w czasie.
Important Note: |
---|
Firma Microsoft zaleca, aby zawsze jawnie określić albo WITH NO odzyskiwanie lub WITH odzyskiwanie w każdej instrukcja przywracanie wyeliminować niejednoznaczności.Jest to szczególnie ważne podczas pisania skryptów. |
Aby zastosować kopia zapasowa dziennik transakcji
Wykonać instrukcję przywracanie dziennik, aby zastosować kopia zapasowa dziennik transakcji, określając:
Nazwa bazy danych, do którego mają być stosowane dziennik transakcji.
Urządzenie kopii zapasowej kopia zapasowa dziennik transakcji będzie można przywrócić.
Klauzula NORECOVERY.
Podstawowa składnia tej instrukcja jest następująca:
przywracanie DZIENNIK nazwa_bazy_danych FROM < backup_device > NORECOVERY WITH.
Where database_name is the name of database and <backup_device>is the name of the device that contains the log backup being restored.
Powtórz krok 1 dla każdej kopia zapasowa dziennik transakcji, należy zastosować.
Po przywróceniu ostatniej kopia zapasowa z kolei przywracanie, aby odzyskać bazy danych użyć następującej instrukcja:
PRZYWRACANIE nazwa_bazy_danych WITH przywrócenia
Important Note: W przypadku tworzenia lustrzana baza danych, pomiń krok odzyskiwanie.lustrzana baza danych musi pozostać w stanie RESTORING.
Example
Domyślnie AdventureWorks Baza danych używa proste model odzyskiwanie. W poniższych przykładach wymagają modyfikowania bazy danych do model pełnego odzyskiwanie, należy użyć w następujący sposób:
ALTER DATABASE AdventureWorks SET RECOVERY FULL
A.Stosowanie kopia zapasowa dziennik transakcji pojedynczej
W poniższym przykładzie jest uruchamiany przy przywracaniu AdventureWorks bazy danych za pomocą wykonać pełną kopię zapasową bazy danych znajdującego się na urządzeniu kopia zapasowa o nazwie AdventureWorks_1. W przykładzie są następnie stosowane znajdującego się kopia zapasowa dziennik transakcji pierwszy na urządzenie kopii zapasowej o nazwie AdventureWorks_log. Na końcu przykładu odzyskuje bazy danych.
RESTORE DATABASE AdventureWorks
FROM AdventureWorks_1
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks
FROM AdventureWorks_log
WITH FILE = 1,
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks
WITH RECOVERY
GO
B.Stosowanie wielu kopie zapasowe dziennik transakcji
W poniższym przykładzie jest uruchamiany przy przywracaniu AdventureWorks bazy danych za pomocą wykonać pełną kopię zapasową bazy danych znajdującego się na urządzeniu kopia zapasowa o nazwie AdventureWorks_1. W przykładzie następnie stosuje, jeden po drugim, kopie zapasowe dziennik transakcji na trzech pierwszych znajdujące się na urządzenie kopia zapasowa o nazwie AdventureWorks_log. Na końcu przykładu odzyskuje bazy danych.
RESTORE DATABASE AdventureWorks
FROM AdventureWorks_1
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks
FROM AdventureWorks_log
WITH FILE = 1,
NORECOVERY
GO
RESTORE LOG AdventureWorks
FROM AdventureWorks_log
WITH FILE = 2,
WITH NORECOVERY
GO
RESTORE LOG AdventureWorks
FROM AdventureWorks_log
WITH FILE = 3,
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks
WITH RECOVERY
GO
See Also