Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач2.doc
Скачиваний:
28
Добавлен:
21.11.2018
Размер:
273.41 Кб
Скачать
  1. Восстановление данных

    1. Подготовка к восстановлению

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

Создаем информацию простого резервного копирования

Введите и выполните следующие инструкции BACKUP, чтобы создать полную и разностную резервные копии базы данных AdventurеWorks.

ALTER DATABASE AdventureWorks

SET RECOVERY SIMPLE;

—Создаем полную резервную копию базы данных

BACKUP DATABASE AdventureWorks

TO DISK = "T:\BACKUPS\ADVFULL.BAK"

WITH INIT;

—Создаем разностную резервную копию

BACKUP DATABASE AdventureWorks

TO DISK = "T:\BACKUPS\ADVDIFF.BAK"

WITH INIT,Differential;

Получаем общую информацию резервного копирования

Чтобы получить информацию о том, какие резервные копии были созданы в базе данных AdventurеWorks, выполните следующую инструкцию SELECT:

USE msdb

GO

SELECT backup_start_date,type, physical_device_name,backup_set_id

FROM backupset bs inner join backupmediafamily bm

ON bs.media_set_id = bm.media_set_id

WHERE database_name ='AdventureWorks'

ORDER BY backup_start_date desc

Каждая резервная копия получает уникальный идентификатор, который называется идентификатором набора резервных копий

Используя приведенную выше информацию, можно узнать, какие файлы данных и журналов были включены в резервные копии и в каких папках они первоначально хранились. Следующий запрос получает эту информацию для идентификатора набора 62. Выполняя этот запрос, обязательно измените backup_set_id с 62 на идентификатор полной резервной копии, найденной на предыдущем этапе.

SELECT filegroup_name,logical_name,physical_name

FROM msdb..backupfile

WHERE backup_set_id = 62

—change to your backup_set_id

В некоторых ситуациях в базе данных msdb может не оказаться необходимой информации. Это может произойти, если база данных msdb была повреждена при аварийной ситуации или если резервное копирование выполнялось на другой системе. В этих случаях можно получить необходимую информацию только непосредственно с устройства резервного копирования. Чтобы получить информацию о резервных копиях, которые находятся на T:\BACKUPS\ADVFULL.BAK', введите и выполните следующую инструкцию.

RESTORE HEADERONLY FROM DISK='T:\BACKUPS\ADVFULL.BAK'

Чтобы получить информацию о файлах данных и журналов, которые были включены в резервные копии, хранящиеся на данном устрой стве, выполните инструкцию RESTORE FILELISTONLY.

RESTORE FILELISTONLY

FROM DISK ='T:\BACKUPS\ADVFULL.BAK'

    1. Восстановление

SQL Server 2005 поддерживает восстановление данных на следующих уровнях.

  • База данных (полное восстановление базы данных)

Вся база данных возвращается в прежнее состояние и восстанавливается, при этом база данных находится в автономном режиме во время операций возврата и восстановления.

  • Файл данных (восстановление файла)

Файл данных или набор файлов данных возвращается в исходное состояние и восстанавливается. Во время восстановления файлов файловые группы, содержащие обрабатываемые файлы, автоматически переводятся в автономный режим на время восстановления. Любые попытки подключения и работы с недоступной файловой группой приведут к ошибке.

  • Страница данных (восстановление страницы)

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

Сценарий восстановления в SQL Server — процесс восстановления данных из резервных копий и возврат в исходное состояние базы данных. Поддерживаемые сценарии восстановления зависят от модели восстановления базы данных и выпуска SQL Server 2005.

Возможные сценарии восстановления, которые поддерживаются различными моделями восстановления, приведены в таблице Приложения1.

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