FirebirdSQL logo
 Операторы определения данных (DDL)SHADOW 

Изменение пути и имени дельта файла

Предложение ADD DIFFERENCE FILE задаёт путь и имя дельта файла, в который будут записываться изменения, внесённые в базу данных после перевода её в режим “безопасного копирования” (“copy-safe”). Этот оператор в действительности не добавляет файла.Он просто переопределяет умалчиваемые имя и путь файла дельты.Для изменения существующих установок необходимо сначала удалить ранее указанное описание файла дельты с помощью оператора DROP DIFFERENCE FILE, а затем задать новое описание файла дельты.Если не переопределять путь и имя файла дельты, то он будет иметь тот же путь и имя, что и БД, но с расширением .delta.

Note

При задании относительного пути или только имени файла дельты он будет создаваться в текущем каталоге сервера.Для операционных систем Windows это системный каталог.

Предложение DROP DIFFERENCE FILE удаляет описание (путь и имя) файла дельты, заданное ранее командой ADD DIFFERENCE FILE.На самом деле при выполнении этого оператора файл не удаляется.Он удаляет путь и имя файла дельты и при последующем переводе БД в режим “безопасного копирования” будут использованы значения по умолчанию (т.е.тот же путь и имя, что и у файла БД, но с расширением .delta).

Example 1. Установка пути и имени файла дельты
ALTER DATABASE
ADD DIFFERENCE FILE 'D:\test.diff';
Example 2. Удаление описание файла дельты
ALTER DATABASE
DROP DIFFERENCE FILE;

Перевод базы данных в режим “безопасного копирования”

Предложение BEGIN BACKUP предназначено для перевода базы данных в режим “безопасного копирования” (“copy-safe”). Этот оператор “замораживает” основной файл базы данных, что позволяет безопасно делать резервную копию средствами файловой системы, даже если пользователи подключены и выполняют операции с данными.При этом все изменения, вносимые пользователями в базу данных, будут записаны в отдельный файл, так называемый дельта файл (delta file).

Note

Оператор BEGIN BACKUP, несмотря на синтаксис, не начинает резервное копирование базы данных, а лишь создаёт условия для его осуществления.

Предложение END BACKUP предназначено для перевода базы данных из режима “безопасного копирования” (“copy-safe”) в режим нормального функционирования.Этот оператор объединяет файл дельты с основным файлом базы данных и восстанавливает нормальное состояние работы, таким образом, закрывая возможность создания безопасных резервных копий средствами файловой системы.(При этом безопасное резервное копирование с помощью утилиты gbak остаётся доступным).

Example 1. Перевод базы данных в режим “безопасного копирования”
ALTER DATABASE
BEGIN BACKUP;
Example 2. Возвращение базы данных в режим нормального функционирования из режима “безопасного копирования”
ALTER DATABASE
END BACKUP;