|
По материалам статьи Neil Boyle: Speedy
Database Recovery with Differential Backups Дифференциальное (разностное) резервное копирование появилось в MS SQL Server 7.0 и позволяет сократить время восстановления базы данных и журналов транзакций. Что такое дифференциальное копирование? Дифференциальная копия это запись всех страниц, в которых
были сделаны изменения с момента последней, полной копии.
Отличие от резервного копирования журнала транзакций в том,
что в разностную копию всегда включаются все изменения
произошедшие с момента создания последней, полной копии базы
данных. Таким образом, если у Вас имеется две дифференциальные
копии, одна из которых сделана позже второй, то последняя
копия содержит первую и все последующие изменения. Разработка эффективной стратегии резервирования Самый простой путь для обеспечения возможности
восстановления базы данных на любой момент времени - это
регулярное создание копий журнала транзакций. При этом нужно
будет восстановить копию базы данных и последовательность
копий журнала транзакций до заданного момента
времени. Технически это правильно, но тогда придется восстановить 11 файлов копий журнала и базы. Можно сделать это значительно проще, используя дифференциальные копии. В следующем примере мы добавим создание дифференциальной копии в 8 часов. Теперь для восстановления базы данных на состояние в 9:30, нам придется восстановить только 4 файла: полную копию базы, дифференциальную и затем копии журналов транзакций, сделанные в 9 и 10 часов. Дифференциальные копии можно создавать и чаще, т.ч. для
восстановления понадобиться только исходный полный бэкап базы,
самый последний разностный бэкап и последующие копии журнала
транзакций, позволяющие восстановить базу на любой момент
времени после последнего разностного бэкапа. В приведенном выше примере нам пришлось восстановить только 3 файла. Без использования дифференциальной копии, мы вынуждены были бы восстанавливать все копии журнала транзакций, созданные с 1:00 до 18:00, итого 19 файлов. Расписание бэкапов Я выбрал значения 8:00 и 17:00 для дифференциального копирования в вышеприведенном примере, потому что они более или менее определяют обычный рабочий день. Разумеется, время выполнения резервного копирования у Вас должно быть продиктовано Вашими собственными условиями. Запомните - Вам по прежнему всегда нужно делать копии журнала транзакций! Дифференциальное копирование не дает возможности восстановить базу до состояния на определенный момент времени, таким образом, в вышеприведенных примерах, если мы хотим восстановить базу на 4:00 , нужно восстановить копию базы данных и последовательность журналов транзакций до 4 часов. Дифференциальная копия, созданная в 5 часов содержит нужные нам данные, но поскольку ее внутренняя структура отличается от журнала транзакций, невозможно ее использовать для восстановления базы на определенный момент времени. |
Перевод: Ирины Наумовой 2003г. |