How to: Restore to the Point of Failure (Transact-SQL)
W tym temacie wyjaśniono, jak przywracanie punktem awarii.Temat ma zastosowanie tylko w przypadku baz danych, które są przy użyciu modelu odzyskiwanie Pełny lub jest rejestrowane zbiorczej.
Aby przywrócić punkt awarii
Wykonaj kopię zapasową ogona w dzienniku, uruchamiając następujące podstawowe kopia zapasowa instrukcja:
BACKUP LOG <database_name>TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;
Przywracanie pełnego bazy danych kopia zapasowa, uruchamiając następujące podstawowe PRZYWRACANIE BAZY DANYCH instrukcja:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;
Opcjonalnie można przywrócić bazę danych różnicowe kopia zapasowa, uruchamiając następującą instrukcję przywracanie DATABASE podstawowe:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;
Zastosowanie każdego dziennik transakcji, włącznie z częścią końcową-kopia zapasowa dziennika utworzonego w kroku 1, określając WITH NORECOVERY w instrukcja przywracanie dziennik:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;
odzyskać bazy danych, uruchamiając następującą instrukcję przywracanie DATABASE:
RESTORE DATABASE <database_name> WITH RECOVERY;
Example
Przed uruchomieniem w przykładzie, należy wykonać następujące wymagania:
Wartość domyślna model odzyskiwanie z AdventureWorks Baza danych jest proste model odzyskiwanie. Ponieważ w tym modelu odzyskiwanie nie obsługuje Przywracanie do punktu awarii zestaw AdventureWorks Aby użyć model pełnego odzyskiwanie, uruchamiając następujące ZMIENIANIE BAZY DANYCH instrukcja:
USE master; GO ALTER DATABASE AdventureWorks SET RECOVERY FULL;
Utwórz pełną bazy danych, z tyłu bazy danych za pomocą następującej instrukcja kopia zapasowa:
BACKUP DATABASE AdventureWorks TO DISK = 'C:\AdventureWorks_Data.bck';
Procedura tworzenia kopia zapasowa dziennika:
BACKUP LOG AdventureWorks TO DISK = 'C:\AdventureWorks_Log.bck';
W poniższym przykładzie przywraca kopie zapasowe, które zostały utworzone wcześniej, po utworzeniu ogona-kopia zapasowa dziennika z AdventureWorks Baza danych. (W tym kroku założono, czy dysk dziennika jest dostępny.)
Po pierwsze, w przykładzie zostanie utworzony dziennik ogona kopia zapasowa bazy danych, który przechwytuje aktywnego dziennika i pozostawi bazę danych w stanie przywracanie.Następnie w przykładzie przywraca kopię zapasową bazy danych, stosuje się rutynowe dziennika kopia zapasowa dziennika utworzony wcześniej i zastosowanie kopia zapasowa końcowego fragmentu dziennika.Na końcu przykładu odzyskuje bazy danych w osobnym kroku.
Uwaga
To zachowanie domyślne jest do odzyskania bazy danych jako część instrukcja, która przywraca ostatni kopia zapasowa.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks
TO DISK = 'C:\AdventureWorks_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\AdventureWorks_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks
FROM DISK = 'C:\AdventureWorks_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks
FROM DISK = 'C:\AdventureWorks_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks
WITH RECOVERY;
GO
See Also