Резервування, Interbase, Бази даних, статті

 gbak [-B] [ключі] файл_бази_данних файл_резервной_копіі

Значення ключів:


Приклад:

gbak-b-user SYSDBA-password masterkey C: workwork.gdb C: workwork.gbk

Відновлення:

 gbak [-R/-С] [ключі] файл_бази_данних файл_резервной_копіі

Ключі:


Приклад:

gbak-R-user SYSDBA-password masterkey C: workwork.gbk C: workwork.gdb

Слід відзначити один нюанс, якщо запустити утиліту gbak без ключа-B або
-R/-C, То буде розпочато процес резервного копіювання бази даних.

2. За допомогою компонентів FIBPlus можна також програмно запускати процеси
резервування та відновлення бази даних.



Для резервування бази даних використовувався компонент TpFIBBackupService,
для початку процес потрібно заповнити певні поля в компоненті:

fibBackUp.DatabaseName: = edBackUpPath.Text; / / вказуємо шлях до бази даних
fibBackUp.ServerName: = "localhost"; / / ім'я сервера

/ / Створюємо і вказуємо ім'я майбутнього файлу резервної копії бази даних
fibBackUp.BackupFile.Add(frmMain.CurrentBackUpPath +
ExtractFileName (edBackUpPath.Text) + "_" + DateToStr (now) + ". Gbk");
fibBackUp.Params.Add(“user_name=SYSDBA”);
fibBackUp.Params.Add(“password=masterkey”);
fibBackUp.Active: = True; / / активуємо процес
try
Screen.Cursor := crSQLWait;
fibBackUp.ServiceStart; / / і стартуємо його
mBackup.Lines.Add ("**************** Резервне копіювання розпочато бази: "+
dBackUpPath.Text + “****************” );
mBackup.Lines.Add(” );
/ / Поки не завершиться процес виводимо логії про процес,
/ / Для того щоб логії відображалися потрібно властивість Verbose
/ / Поставити в значення TRUE
while not (fibBackUp.Eof) do
begin
mBackup.Lines.Add(fibBackUp.GetNextLine);
end;
mBackup.Lines.Add ("*************** Резервне копіювання закінчено ***************");
fibBackUp.Active: = false; / / закриваємо процес
Screen.Cursor := crDefault;

except
MessageDlg ("Помилка при резервному копіюванні бази даних", mtError, [mbOk], 0);

end;


Результат бекапу буде виведений в Memo-поле:



На наступному малюнку представлена ​​форма за допомогою, якої можна здійснить
відновлення бази даних:



Для процесу restore використовувався компонент TpFIBRestoreService, в лістингу
показані частина настройок, які необхідно встановити перед запуском процесу
відновлення.

/ / Відновлюємо базу даних в новий вказаний файл
if chNewDB.Checked then fibRestore.Options := [CreateNewDB];

/ / Перезаписувати базу даний при restore
if chReplace.Checked then fibRestore.Options := [Replace];

fibRestore.BackupFile.Add (edPathGBK.Text); / / вказуємо GBK файл
fibRestore.DatabaseName.Add (edDirGDB.Text); / / вказуємо файл бази даних
fibRestore.PageSize: = StrToInt (cxComboBox1.Text); / / розмір сторінки
fibRestore.ServerName := “localhost”;
fibRestore.Params.Add(“user_name=SYSDBA”);
fibRestore.Params.Add(“password=masterkey”);
try
Screen.Cursor := crSQLWait;
fibRestore.Active := True;
fibRestore.ServiceStart;
mRestore.Lines.Add ("**************** Розпочато процес відновлення: "+
edPathGBK.Text + “****************”);
mRestore.Lines.Add(“);
while not (fibRestore.Eof) do mRestore.Lines.Add (fibRestore.GetNextLine);
mRestore.Lines.Add(“);
mRestore.Lines.Add ("**************** Відновлення закінчено ****************");
fibRestore.Active := false;
Screen.Cursor := crDefault;

except
MessageDlg ("Помилка при відновлення бази даних", mtError, [mbOk], 0);

end;


Результат відновлення представлений на наступному малюнку:


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*