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

Применимо к:SQL Server

Этот раздел относится к базам данных 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 log_backup1 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup2 WITH NORECOVERY  
    RESTORE LOG adb FROM log_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)
Восстановление в сети (SQL Server)
Применение резервных копий журналов транзакций (SQL Server)
RESTORE (Transact-SQL)
Восстановление фрагмента (SQL Server)