Поделиться через


Пример. Поэтапное восстановление только некоторых файловых групп (модель полного восстановления)

Сведения в этом разделе относятся только к базам данных SQL Server, использующим полную модель восстановления, которые содержат несколько файлов или файловых групп.

В последовательности поэтапного восстановления база данных восстанавливается за несколько шагов на уровне файловой группы, начиная с первичной и всех вторичных файловых групп, доступных для чтения и записи.

В этом примере база данных adb, которая использует модель полного восстановления, содержит три файловые группы. Файловая группа A доступна для чтения и записи, файловые группы B и C доступны только для чтения. Изначально все файловые группы находятся в режиме «в сети».

Первичная файловая группа и файловая группа B базы данных adb, вероятно, повреждены. Первичная файловая группа достаточно мала и может быть быстро восстановлена. Администратор базы данных решает восстановить обе группы с помощью последовательности поэтапного восстановления. Сначала восстанавливается первичная файловая группа и связанные с ней журналы транзакций, при этом восстанавливается база данных.

Неизменившиеся файловые группы A и C содержат важные данные. Поэтому они будут восстановлены следующим образом и переведены в режим «в сети» как можно быстрее. Наконец, восстанавливается поврежденная вторичная файловая группа B.

Последовательности восстановления

ПримечаниеПримечание

Синтаксис последовательности восстановления в сети тот же самый, что и в случае последовательности восстановления вне сети.

  1. Создайте резервную копию заключительного фрагмента журнала базы данных adb. Этот этап важен, чтобы привести неповрежденные файловые группы A и C в соответствие с точкой восстановления базы данных.

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY
    
  2. Произведите частичное восстановление первичной файловой группы.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup 
    WITH PARTIAL, NORECOVERY
    RESTORE LOG adb FROM backup1 WITH NORECOVERY
    RESTORE LOG adb FROM backup2 WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
    

    В этот момент первичная группа файлов переходит в режим «в сети». Файлы в файловых группах A, B и C ожидают восстановления и поэтому находятся в режиме «вне сети».

  3. Восстановление файлов A и C в сети.

    Так как данные этих файловых групп не повреждены, их не нужно восстанавливать из резервной копии, но их нужно перевести в режим «в сети».

    Администратор базы данных сразу же восстанавливает файловые группы A и C.

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY
    

    На этом этапе первичная файловая группа и файловые группы A и C находятся в режиме «в сети». Файлы в файловой группе B ожидают восстановления, при этом она находится в режиме «вне сети».

  4. Восстановление файловой группы B «в сети».

    Файлы в файловой группе B могут быть восстановлены позже в любое время.

    ПримечаниеПримечание

    После того как файловая группа B становится доступной только для чтения, используется ее резервная копия, что исключает необходимость выполнения наката.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY
    

    Теперь все файловые группы находятся в режиме «в сети».

Дополнительные примеры

См. также

Справочник

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

Основные понятия

Восстановление в сети (SQL Server)

Применение резервных копий журналов транзакций (SQL Server)

Поэтапное восстановление (SQL Server)