Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Спасение утопающих – дело рук, а не ног

Фленов Михаил aka Horrific

Спецвыпуск: Хакер, номер #052, стр. 052-078-3


Если после последнего полного резервирования было произведено немного изменений, намного выгоднее сделать дифференцированное. Результат – маленький файл резервной копии и достаточно быстрое выполнение. Если произошла массовая корректировка данных, то затраты на дифференцированную копию будут слишком большими.

Итак, для маленьких баз данных можно не заморачиваться и делать полную резервную копию хоть каждый час. Для этого скрипт резервирования можно поместить в планировщик задач и, пока сервер работает, продолжать читать любимый "Xakep-Спец" :). Если база большая, то ее резервирование можно проводить ежедневно по ночам и, по возможности, днем - в обеденный перерыв. А в рабочее время иногда делать дифференцированное копирование.

Если ты ограничился только созданием полных копий, то я рекомендую завести под их хранение десяток носителей, например DVD-RW дисков. Семь носителей будут хранить "неделькой" - резервную копию каждого дня недели. Помимо этого рекомендуется сохранять на отдельных носителях резервные копии каждого последнего рабочего дня недели.

Модель Simple не позволяет восстанавливать данные в их состоянии на определенный момент времени, но, зная все описанное выше, ты сможешь откатиться в прошлое.

Полные возможности

В модели Full и Bulk-Logged сервер позволяет делать еще и резервирование журнала транзакций или отдельных файлов/файловых групп базы данных. Мощная возможность, но нужно быть всегда готовым к тому, что резервные копии будут занимать немало места. Эти модели рекомендуются для крупных баз данных с наиболее важными данными.

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

Преимущество модели Full (Bulk-Logged с ограничениями) в том, что данные могут быть восстановлены на любой момент времени. Если кто-то натворил бед, удалил данные или просто сделал что-то нелегальное, можно восстановить базу в ее состоянии на пять минут раньше на тестовом сервере и перенести потерянные данные в рабочий сервер. На моем опыте уже есть случаи, когда операторы базы портили данные (например, случайно удаляли), а потом пытались списать это дело на меня. Возможность восстановления на определенный период спасала мой зад от утюга и паяльника, а кошелек - от лишения зарплаты.

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

Назад на стр. 052-078-2  Содержание  Вперед на стр. 052-078-4