Системный администратор или владелец базы данных должны периодически выполнять резервное копирование базы данных и ее протокола транзакций для обеспечения возможностей восстановления в случае системной ошибки, сбоя оборудования или различных бедствий (таких как пожар или кража). Database Engine позволяет выполнять два вида резервного копирования базы данных: полное и дифференцированное. Полное резервное копирование использует состояние базы данных на момент времени, когда выдается оператор, и выполняет копирование на устройство резервной копии (файл или ленточное устройство). В случае дифференцированного резервного копирования копируются те части базы данных, которые были изменены с момента последнего полного резервного копирования базы данных. Преимуществом дифференцированного резервного копирования является то, что оно выполняется быстрее, чем полное резервное копирование базы данных для той же базы данных. (Существует также резервное копирование протокола транзакций, которое выполняет резервное копирование протоколов транзакций на устройства копии.)
Database Engine выполняет автоматическое восстановление каждый раз, когда происходит системный сбой, который не приводит к сбою любого оборудования хранения данных. (Автоматическое восстановление также выполняется, когда система запускается после каждого останова системы.) В процессе автоматического восстановления каждая подтвержденная транзакция, обнаруженная в протоколе транзакций, записывается в базу данных, а каждая неподтвержденная отменяется. После любого сбоя внешнего устройства может потребоваться ручное восстановление базы данных с доступной копии и ее протокола транзакций. Для восстановления базы данных должны быть использованы полная резервная копия базы данных и только самая последняя дифференцированная резервная копия. Если для восстановления базы данных вы используете протоколы транзакций, вначале используйте полную резервную копию базы данных, а затем применяйте все существующие протоколы транзакций в порядке их создания для приведения базы данных в согласованное состояние, которое она имела на момент, когда была создана последняя резервная копия протокола транзакций.
Database Engine поддерживает несколько собственных технологий, которые служат для повышения доступности систем баз данных и самих баз данных:
♦ отказоустойчивая кластеризация;
♦ зеркальное отображение базы данных;
♦ пересылка протокола.
Отказоустойчивая кластеризация является наиболее важной технологией Database Engine по отношению к высокой доступности. Только эта технология предоставляет избыточный сервер. Зеркальное отображение базы данных не предоставляет избыточности сервера, но дает избыточность базы данных. Пересылка протокола похожа на зеркальное отображение базы данных, но поддерживает только подмножество его возможностей.
В следующей главе описываются все возможности системы, которые позволяют автоматизировать системные административные задачи.