При планировании стратегии резервирования с учетом особенностей производственного окружения сначала определяют метод резервирования или комбинацию методов. Далее рассматривается процесс восстановления.
Стратегия полного резервирования базы данных.Время и ресурсы, необходимые для выполнения этой стратегии, определяют размер БД и частоту изменения данных. Полное резервирование выполняют в случае:
• небольшого объема БД, так как время резервирования ограничено соображениями целесообразности;
• небольшого количества модификаций БД или использования БД только для чтения.
В результате применения этой стратегии в конечном счете заполнится журнал транзакций. При переполнении журнала SQL Server может не допустить дальнейшую активность с БД, пока журнал не будет очищен.
С помощью этой стратегии можно полностью восстановить БД до момента возникновения ошибки, если журнал транзакций остался цел. При хранении журнала транзакций и БД на разных дисках вероятность разрешения обоих дисков очень мала, поэтому такая стратегия работает очень хорошо. Если данные в БД слишком важны и в случае ошибки восстанавливать вручную затруднительно, необходимо регулярно резервировать журнал транзакций [12].
Стратегия полного резервирования БД и журнала транзакций— наиболее часто выполняемая стратегия. В дополнение к выполнению полного резервирования БД необходимо надлежащим образом резервировать журнал для записи всей активности БД, которая происходит между полными резервированиями.
Стратегия позволяет восстановить БД из наиболее полного последнего резервирования, после этого следует применить вес зарезервированные журналы транзакций, которые выполнят изменения, происшедшие с момента последнего полного резервирования БД.
Стратегию полного резервирования БД и журнала транзакций выполняют для часто обновляемых БД, причем необходимо следить за тем, чтобы БД и журнал резервировались в доступное время.
Для восстановления БД необходимо:
• по возможности зарезервировать журнал транзакций с использованием опции WITH NO_TRUNCATE;
• восстановить БД из последнего полного резервирования;
• восстановить журналы двух предпоследних транзакций;
•восстановить журнал транзакций, который был создан на момент разрушения с опцией WITH NO_TRUNCATE.
Стратегия дифференцированного резервированияподразумевает резервирование только части БД, которая была изменена с момента последнего полного резервирования. При дифференцированном резервировании SQL Server .
• не записывает изменения журнала транзакций, поэтому необходимо периодически резервировать журнал транзакций;
• требует восстановления только последней дифференцированной копии для восстановления БД. Последняя дифференцированная копия содержит все изменения, которые были выполнены с момента последнего полного резервирования БД.
Эта стратегия применяется для оптимизации времени восстановления, если БД была разрушена (дифференцированное резервирование предпочтительнее, чем восстановление множества больших журналов транзакций).
Стратегия резервирования файлов и файловых групп.При использовании этой стратегии, как правило, резервируется журнал транзакций как часть стратегии.
В комбинации с регулярным резервированием журнала транзакций эта технология является распределенной во времени альтернативой полного резервирования БД. Например, если время резервирования ограничено одним часом (при полном резервировании это отнимает 4 часа), следует резервировать отдельные файлы каждый день в ночное время и при этом обеспечивать защиту данных.