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

Данная опция позволяет создать парольную защиту резервной копии. Если пароль задан, то он должен указываться при последующем восстановлении БД. Восстановление может производиться на любом компьютере, так как система записывает хеш-образ пароля прямо в файл резервной копии. Надо отметить, что именно в этом и заключается серьезная слабость парольной защиты резервных копий в SQL Server 2005. Хеш-образ пароля имеет фиксированную длину и хранится в файле по смещению, которое можно легко вычислить. Злоумышленнику достаточно сгенерировать хеш некоего пароля, придуманного им самим, и подменить полученным значением оригинальный хеш, расположенный в файле резервной копии, и тогда он без труда восстановит резервную копию на своем компьютере.

6. FORMAT | NOFORMAT

Задает параметры перезаписи существующего носителя резервной копии, а именно – перезапись заголовка (FORMAT – перезаписывать заголовок, NOFORMAT – не перезаписывать). По умолчанию – NOFORMAT.

7. INIT | NOINIT

Опция INIT определяет режим перезаписи всех резервных копий на носителе. NOINIT (принятая по умолчанию) – указывает, что старая резервная копия не перезаписывается.

Комбинация слов NOFORMAT, NOINIT предписывает системе создавать новую резервную копию и дописывать ее в конец носителя, даже если копия указанной БД на указанном носителе уже присутствует.

8. SKIP | NOSKIP

При указании опции NOSKIP перезапись резервной копии будет производиться только в том случае, если копия является устаревшей. Данная опция устанавливается по умолчанию. Опция SKIP предписывает выполнять перезапись резервной копии независимо от устаревания.

9. CHECKSUM

Опция CHECKSUM предписывает серверу выполнять контрольное суммирование перед записью резервной копии. При этом производится не только запись контрольной суммы, но и проверка контрольного бита каждой страницы БД.

10. STOP_ON_ERROR | CONTINUE_AFTER_ERROR

Эти опции дополняют опцию CHECKSUM. Если при проверке контрольной суммы (а она проверяется при создании резервной копии неоднократно) обнаруживается ошибка, есть два варианта: либо прекратить создание резервной копии (STOP_ON_ERROR), либо продолжать, несмотря на ошибку (CONTINUE_AFTER_ERROR). По умолчанию выбирается первый вариант поведения.

11. COPY_ONLY

Данная опция предписывает системе выполнять резервирование в так называемом копирующем режиме (copy-only backup). Копирующий режим предназначен специально для переноса БД в виде резервных копий между компьютерами. Главное же отличие состоит в том, что резервные копии, созданные в копирующем режиме, помечаются специальным флагом, за счет которого они не учитываются в последовательности обычных резервных копий. В частности, полная копия, созданная в копирующем режиме, не сбрасывает флаги архивирования; следующая разностная копия будет содержать всю информацию, измененную с момента создания полной резервной копии в обычном режиме.

Копирование журнала транзакций производит отдельный оператор Transact-SQL – BACKUP LOG. Его синтаксис практически полностью схож с BACKUP DATABASE.

7.1.5. Восстановление БД

Восстановление БД – это процедура получения файлов БД из резервной копии. Если восстанавливаемая БД уже существует на сервере, то старые файлы заменяются новыми, и БД оказывается в том состоянии, которое отражено в резервной копии. Восстановление существующей на сервере БД начинается с того, что все установленные с нею клиентские соединения закрываются, также временно запрещается установка новых соединений.

При восстановлении можно получить и новую БД из файла резервной копии. Создаваемой при этом БД присваивается имя, указанное администратором, и она автоматически регистрируется на сервере.

В SQL Server 2005 существует три режима восстановления БД.

1. Режим RECOVERY.

На момент создания резервной копии в БД могли быть незавершенные транзакции. Словом «recovery» обозначается процедура восстановления транзакций. Состоит она в том, что незавершенные транзакции при восстановлении отменяются, т. е.: