How to: Restore to a Point in Time (Transact-SQL)

W tym temacie wyjaśniono, jak przywrócić do punktu w czas.

Aby przywrócić do punktu w czasie

  1. wykonać instrukcja przywracanie DATABASE, za pomocą opcji NORECOVERY.

    Uwaga

    Jeżeli sekwencja częściowe przywracanie wyklucza jedną FILESTREAM grupa plików, punkt - w-czas przywracanie nie jest obsługiwana.Można wymusić sekwencja przywracanie, aby kontynuować.Jednak filegroups FILESTREAM, które zostały pominięte z instrukcja przywracanie nigdy nie mogą być przywracane.Aby wymusić przywracanie punktu w czasie, należy określić opcję CONTINUE_AFTER_ERROR wraz z opcją STOPAT, STOPATMARK lub STOPBEFOREMARK, które należy również określić w sieci kolejne instrukcje przywracanie dziennik.Jeśli określisz CONTINUE_AFTER_ERROR sekwencji częściowe przywracanie kończy się powodzeniem, i grupa plików FILESTREAM staje się nieodwracalny.

  2. Wykonać instrukcję przywracanie dziennik, aby zastosować każdej kopia zapasowa dziennika, określając:

    • Nazwa bazy danych, do którego stosuje się dziennik transakcji.

    • urządzenie kopii zapasowej z przywróceniu kopia zapasowa dziennik transakcji.

    • Z opcji przywrócenia i STOPAT.kopia zapasowa dziennik transakcji nie zawiera żądanego czasu (na przykład, jeśli znajduje się poza koniec czas, dziennik transakcji z wybranym), generowany jest komunikat ostrzegawczy, a unrecovered pozostaje w bazie danych.

Example

W poniższym przykładzie przywraca stan w bazie danych 12:00 AM na April 15, 2020 i pokazuje operacji przywracanie, który obejmuje wiele kopii zapasowych dziennika. Na tym urządzeniu, AdventureWorksBackups, trzeciego zestawu na (urządzenie kopii zapasowych jest pełna bazy danych kopia zapasowa dziennika do przywróceniaFILE = 3), najpierw kopię zapasową dziennika jest czwarty (zestaw kopii zapasowychFILE = 4), a drugiej kopii zapasowych dziennika jest piątym (zestaw kopii zapasowychFILE = 5).

Important noteImportant Note:

The AdventureWorks database uses the simple model odzyskiwania. Aby zezwolić na wykonywanie kopii zapasowych dziennika, przed podjęciem wykonać pełną kopię zapasową bazy danych, bazy danych został zestaw do pełnego odzyskiwanie za pomocą modelu przy użyciu ALTER DATABASE AdventureWorks SET RECOVERY FULL.

RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=3, NORECOVERY;

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY; 
GO