Сравнение Borland InterBase 4.x, Sybase SQL Server и Microsoft SQL Server - Обслуживание

ОГЛАВЛЕНИЕ

7.2. Обслуживание

7.2.1. Backup

7.2.1.1. SQL Server

Сохранение БД в архив должно выполняться периодически (например по ночам). Поддерживается два типа backup, производимого SQL Server - полный (full) и сохранение изменений (incremental). Полный backup [иногда называемый dump] создает полный образ базы данных включая системные таблицы и и файлы протоколов. Backup с сохранением (incremental) делает только копию файлов протоколов. Администратор БД должен четко выполнять последовательные full и incremental backup. Это необходимо потому, что backup не сбрасывает файлы протоколов. Если-же не делать периодически incremental backup, то файлы протоколов могут переполниться, и РСУБД в результате остановит свою работу. Такая остановка требует вмешательства квалифицированного администратора БД для устранения проблем. Это также блокирует работу пользователей на время, требуемое для восстановления БД в рабочее состояние.

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

7.2.1.2. InterBase

Благодаря многоверсионности записей, база данных может быть сархивирована (backup) в любое время при любом количестве пользователей, работающих с данными в это-же время. Backup представляет собой транзакцию с уровнем изоляции RepeatableRead, которая производит только чтение всей БД. Таким образом backup "не видит" изменений, производимых или произведенных после старта backup. Это гарантирует целостное состояние архивированной БД на момент архивации. В смысле производительности выполнение backup означает подключение еще одного пользователя, который читает данные. В Borland InterBase существует только один тип архивирования - полный (full), когда архивируются абсолютно все данные, находящиеся в БД.

(Д.К. - к сожалению, incremental backup у IB отсутствует. Это можно объяснить только тем, что при отсутствии механизма Transaction Log и наличии механизма многоверсионности записей, для incremental backup пришлось-бы либо все новые версии записей, начиная с окончания full backup, класть в отдельное место, либо неявно не завершать транзакцию full backup, что привело-бы к появлению неоправданно большого количества версий записей и расходованию дискового пространства. м.б. что-то новое появится в IB 5.0)