Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 63

·  БД восстанавливается в согласованном состоянии, без изменений, внесенных незавершенными транзакциями;

·  из журнала транзакций удаляются соответствующие записи.

2. Режим NORECOVERY.

Процедура восстановления транзакций в этом режиме не выполняется. БД может оказаться в несогласованном состоянии, т. к. в ней присутствуют изменения, выполненные незавершенными транзакциями, но сказать что-либо об их приемлемости и актуальности нельзя. После восстановления БД в этом режиме она остается недоступной для пользователей. Единственное, что можно сделать, это «довосстановить» ее. Например, если БД была восстановлена из полной резервной копии в режиме NORECOVERY, то далее может последовать применение более поздней копии журнала транзакций (т. е. по сути дела восстановление транзакций без принудительного отката всех незавершенных). Чтобы БД стала доступной для чтения и записи, нужно выполнить восстановление в режиме RECOVERY.

3. Режим STANDBY.

БД восстанавливается и становится доступной только для чтения. Незавершенные транзакции отменяются, при этом вся информация о них записывается в файл отмены. Имя этого файла задается администратором при настройке параметров восстановления. В дальнейшем файл отмены может быть использован для «довосстановления» в режиме RECOVERY, при этом часть незавершенных транзакций можно будет завершить и зафиксировать.

Для восстановления БД можно используется команда RESTORE DATABASE. Ее упрощенный синтаксис таков:

RESTORE DATABASE имя_БД [FILE = ‘имя_файла’ | FILEGROUP = ‘имя_группы’]

            [FROM устройство]

            [WITH список_параметров]

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

1. RECOVERY | NORECOVERY | STANDBY

Позволяет выбрать режим восстановления. По умолчанию восстановление производится в режиме RECOVERY.

2. CHECKSUM | NO_CHECKSUM

Данная опция позволяет включить/отключить проверку контрольных сумм при восстановлении. По умолчанию проверка производится.

3. STOP_ON_ERROR | CONTINUE_AFTER_ERROR

Данная опция определяет поведение системы при обнаружении ошибок в контрольной сумме. По умолчанию восстановление прекращается, и выдается сообщение об ошибке (STOP_ON_ERROR).

4. PASSWORD = ‘пароль’

Данная опция применяется только в том случае, если резервная копия защищена паролем. Вводимый пароль должен совпадать с паролем, указанным при копировании.

Для восстановления БД из копии журнала транзакций используется команда RESTORE LOG, имеющая похожий синтаксис и схожие параметры.

7.2. Резервирование серверов СУБД

Принцип резервирования серверов достаточно прост. Для повышения отказоустойчивости системы должен использоваться не один, а минимум два сервера, один из которых является главным, а другой – вторичным. Резервирование начинается с установки резервного сервера. Суть установки заключается в том, что на резервном сервере создаются дубликаты баз данных основного сервера. После этого начинается работа клиентов с основным сервером. При этом резервный сервер постоянно синхронизируется с основным: изменения, выполненные в базах данных на основном сервере, переносятся также в дубликаты на резервном сервере. В случае сбоя в работе основного сервера клиенты переключаются на использование резервного сервера и продолжают работу.

Все описанные действия могут быть выполнены вручную:

·  установка и синхронизация резервного сервера – администратором (создание резервных копий баз данных на основном сервере с последующим восстановлением на резервном);

·  переключение на резервный сервер – пользователями.

Неудобство и непрактичность резервирования в ручном режиме очевидна. Разработчики СУБД стремятся к тому, чтобы автоматизировать выполнение всех описанных процедур. Для достижения этой цели в SQL Server 2005 можно воспользоваться следующими механизмами:

·  отказоустойчивый кластер;

·  автоматическая доставка журналов;