Резервное копирование и восстановление данных В базе данных ПерсоналАктив как правило находится важная информация, потеря которой плохо скажется на бизнесс-процессах компании. Для страховки рекомендуется делать резервное копирование базы данных с определённой периодичностью. Этот документ рассказывает, как это сделать. Содержание Резервное копирование и восстановление данных................................................................................. 1 Утилита* резервного копирования и восстановления............................................................................. 1 Запуск из командной строки ...................................................................................................................... 3 Автоматизация и запуск по расписанию ................................................................................................... 4 Утилита* резервного копирования и восстановления * Утилита – небольшая вспомогательная программа для выполнения каких-то системных операций В состав ПерсоналАктив включена утилита для осуществления резервного копирования базы данных и восстановления БД из резервных копий. Называется она DBBackup.exe и находится в папке с программой. Значок этой утилиты расположен в программной группе ПерсоналАктив. Причины использования Почему нужно использовать специальную программу? Потому что для резервного копирования БД недостаточно просто скопировать файл базы данных куда-то в другое место по следующим причинам: в этот момент может идти работа с БД с какого-то другого рабочего места и в результате файл окажется повреждён; в этот момент сервер БД может выполнять какие-то внутренние процедуры и файл опять же окажется повреждён, иногда безвозвратно; файл БД может находиться на сервере и к нему может просто не быть доступа. Более того, по правилам работы с БД такого доступа быть и не должно! Тем не менее, резервное копирование методом простого переписывания файла базы данных pa.fdb всё-таки возможно. Чтобы избежать потери данных нужно 1) Закрыть все работающие копии ПерсоналАктив. 2) Остановить процессы сервера БД (неправильный, но быстрый путь - снять задачи fbserver.exe и fbguard.exe в списке процессов. Правильный путь - выполнить Shutdown database из командной строки) 3) Скопировать файл БД в резервное хранилище. Применение утилиты позволяет упростить этот процесс и даже позволяет не прерывать работу пользователей в ПерсоналАктив – в этом случае будет сохранён «снимок» базы данных с подтверждёнными изменениями. Впрочем, рекомендуется всё же закрывать все соединения с БД. Кроме того, при выполнении резервного копирования через утилиту происходит процедура «сборки мусора» – удаление зависших из-за сбоев данных, упаковка, чистка всяких временных объектов и т.п. Файлы резервных копий сжимаются, чтобы занимать меньше места. Поэтому рекомендуется использовать утилиту DBBackup.exe и выполнять операции резервного копирования и восстановления её средствами. Вид утилиты и её применение Главное окно утилиты выглядит следующим образом: Для выполнения операций резервного копирования нужно обязательно задать сервер и путь к базе данных. По умолчанию утилита берёт эти настройки из файла настроек ПерсоналАктив (файла pa.ini) Резервное копирование Чтобы выполнить резервное копирование, нужно задать имя файла резервной копии или выставить отметку «Генерировать название файла автоматически» и выбрать папку для сохранения. 2 Обратите внимание: Файл резервной копии будет создан на сервере и пути тоже относятся к серверу, а не к локальной машине! Далее нажмите ссылку «Сохранить резервную копию» и ожидайте завершения операции. Восстановление из резервной копии Чтобы выполнить восстановление, нужно перейти на страницу восстановления, задать имя файла резервной копии и нажать ссылку «Восстановить из резервной копии». Понятно, что для этой операции все рабочие места ПерсоналАктив обязательно должны быть закрыты. Кнопка "Переупаковка БД" выполняет автоматическую операцию упаковки/восстановления базы данных. Обратите внимание: Файл бэкапа как и файл результата располагается на сервере. И пути к ним задаются серверные (как и путь к базе данных). Если Вы запустили утилиту с именем сервера, отличным от localhost (это стандартное имя текущей машины, то есть той, где запущена утилита), то резервный файл будет создан на том сервере; и загружаться будет тоже оттуда же, а не с локальной машины. Утилита просто командует серверу, какие операции он должен выполнить, где взять данные для них и куда поместить результаты. Обратите внимание: В пути сохранения/восстановления не должно быть папок с не-английскими названиями. Запуск из командной строки Утилита может быть запущена в автоматическом режиме из командной строки. Вот её параметры: DBBackup [опции] /server=… /database=… /backup=… Параметры: /server имя сервера БД /database путь к базе данных на сервере /backup названия файла бэкапа или папки для бэкапа (если применяется ключ /a) Опции /a автоматическая генерация имени бэкапа /r операция – восстановление (иначе, по умолчанию, – резервное копирование) /q тихий режим, без выдачи сообщений. Утилита запустится, отработает, если всё правильно, и автоматически закроется. 3 Автоматические имена файлов генерируются в формате pa_backup_auto_dd_mm_yyyy.fbk, где dd, mm, yyyy – текущая дата (день, месяц, год). Обратите внимание: при автоматическом резервном копировании файлы с одинаковым именем перезаписываются без вопросов к пользователю. Примеры: DBBackup.exe /a /q /backup=c:\pa_backup - Резервное копирование базы данных по умолчанию (сервер и путь прописаны в файле настроек ПерсоналАктив (pa.ini) в папке с утилитой) в папку c:\pa_backup с автоматической генерацией имени бэкапа. Закрыть утилиту после окончания работы. DBBackup.exe /r /server=localhost /database=p:\pa\bin\database\pa.fdb /backup=c:\old_file.fbk - Восстановление из резервной копии на сервере localhost, из файла c:\old_file.fbk, в базу данных p:\pa\bin\database\pa.fdb Автоматизация и запуск по расписанию Так как утилита поддерживает запуск с параметрами из командной строки, ничего не мешает автоматизировать её запуск при помощи планировщика заданий Windows. Откройте панель управления (Control Panel) и найдите элемент Планировщик (Scheduled Tasks): 4 Создайте новую задачу: 5 Выберите «Резервное сохранение базы данных ПерсоналАктив» из списка или найдите утилиту вручную: Установите периодичность задания: (раз в неделю) Выберите дни недели и время старта: 6 (в три часа ночи в любой из рабочих дней) При необходимости задайте имя пользователя и пароль, от чьего лица будет выполнятся задача. Обратите внимание: имеется в виду имя пользователя и пароль Windows, а не ПерсоналАктив. Затем задайте параметры запуска задачи. Двойной щелчок по задаче откроет окно её свойств: 7 Здесь нужно в поле Запуск (Run) дописать командную строку. Впишите необходимые ключи и параметры (они описаны в разделе выше). Проверить работоспособность задачи можно, нажав на ней правую кнопку мыши и выбрав Запуск (Run): 8