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

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

Создание разностной копии занимает значительно меньше времени, чем полное копирование, и может запускаться с гораздо большей частотой.

7.1.3. Копирование журнала транзакций

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

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

7.1.4. Языковые средства создания резервной копии. Параметры резервного копирования

Для создания полной и разностной копии БД в Transact-SQL предусмотрена команда BACKUP DATABASE, упрощенный синтаксис которой имеет следующий вид:

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

            TO устройство

            [MIRROR TO устройство2]

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

Если в качестве устройства резервного копирования выбирается диск, то после ключевого слова TO следует конструкция вида DISK = ‘полное_имя_файла’. Например:

BACKUP DATABASE db1 TO DISK = ‘D:\SQLBackups\db1_backup.bak’

Заметим, что архивироваться может не только вся БД целиком, но и отдельная группа файлов данных. Опция FILEGROUP позволяет указать нужную группу. Если же требуется скопировать отдельный файл, тогда используется ключевое слово FILE с заданием имени файла.

Опция MIRROR TO позволяет создать второй (необязательный) экземпляр резервной копии, полностью  идентичный первому, в другом файле или на другом устройстве.

Список параметров в секции WITH – это перечень через запятую дополнительных настроек резервного копирования. Любой из этих параметров можно не указывать совсем. Наиболее широко используемые из них – следующие.

1. DESCRIPTION = ‘текст’

Позволяет ввести произвольный текст (точнее, строку до 255 символов), служащий кратким описанием резервной копии.

2. DIFFERENTIAL

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

3. EXPIREDATE = дата

Позволяет задать дату устаревания резервной копии. Необходимо отметить, что сведения о выполненном копировании любой БД сохраняются в специально выделенных системных таблицах БД Master, к которым СУБД, а через нее – администраторы, могут получить доступ в любое время. В частности, СУБД может обнаруживать факт устаревания резервных копий с наступлением указанной даты. Устаревшая копия автоматически перезаписывается системой. Если же дата устаревания не указана, то резервная копия никогда не будет считаться устаревшей.

В качестве даты может быть указано конкретное константное значение или же переменная типа datetime, smalldatetime.

4. RETAINDAYS = количество_дней

Второй способ задать момент устаревания резервной копии – указать количество дней, по истечении которого копия автоматически перезаписывается. Опция RETAINDAYS позволяет это сделать.

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