Как восстановить разрушенные данные БД ADS — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «Руководство по использованию утилиты AdtFix для восстановления поврежденных adt-таблиц. '''К…»)
(нет различий)

Версия 10:25, 30 сентября 2014

Руководство по использованию утилиты AdtFix для восстановления поврежденных adt-таблиц.

Когда нужен ремонт?

Ремонт таблицы adt-типа следует произвести, если при работе с ней вы получаете сообщения Ads со следующими кодами ошибок:

  • 7016 - Таблица разрушена
  • 7072 - Разрушен мемо-файл, связанный с этой таблицей
  • 7116 - Неопознана версия adt-таблицы
  • 7123 - Неопознан тип поля
  • 7124 - Неверное число записей

Эти ошибки возникают, когда вы пытаетесь работать с данными :

1. восстановленными из архива, который был создан без использования клиентской части Ads - например, вы свернули базу в архив с помощью Winrar, или сняли ее копию утилитой xcopy в то время, как с ней работали пользователи;

2. после резкой перезагрузки сервера - сбой питания, нажатие кнопки Reset и т.п.

Для пользователей испорченность таблицы проявляется в том, что они не могут добавить новую запись - F6 не работает там, где всегда работал.

В таких случаях следует проверить подозрительные файлы, как это сказано ниже.

Инструмент

Для полного ремонта нужны следующие утилиты:

  • adtfix.exe - ремонтирует таблицы
  • freeadt.exe - отвязывает таблицы от Словаря базы данных,
  • arc32.exe - многофункциональная утилита "Advantage Database Architect".

Утилиты adtfix.exe и freeadt.exe размещены на нашем FTP-сервере

Ремонт

  • Создайте временную директорию типа \temp\fix.
  • Копируйте в нее adtfix.exe, freeadt.exe и распакованные архивные или испорченные файлы.
  • Запустите adtfix.

AdtFix1.png

  • Нажмите Next. По кнопке Browse укажите директорию \temp\fix

AdtFix2.png

  • Начните проверку, нажав Next.

AdtFix3.png

  • Все файлы будут последовательно проверены. Перед именами правильных файлов появится слово VALID. Файлы с нарушенной внутренней структурой будут выделены. В этом примере это файлы DOCS0109.ADT, DOCZ0109.ADT.
  • Что бы вылечить файлы нажмите FIX

AdtFix4.png

  • При лечении содержимое исправляемых файлов будет изменено, поэтому для каждого из файлов -.ADT и .ADM, входящих в одноименную таблицу, будет предложено сделать его bak-копию.

AdtFix5.png

  • Укажите директорию размещения bak-копий. По умолчанию будет предложена директория запуска утилиты. Отвечайте Сохранить.
  • Перед исправленными файлами появляется слово FIXED.

AdtFix6.png

  • Перед тем, как завершить работу, утилита сообщает, что исправленые файлы могут содержать, коротко говоря, мусор и рекомендует произвести их чистку операцией Pack утилиты Advantage Data Architect. См ниже

AdtFix7.png

Удаление мусора

  • Перед тем как удалить мусор необходимо "отвязать" таблицы от Словаря базы данных утилитой freeadt.exe, которая ранее была записана вами в директорию \temp\fix. Перейдите в директорию \temp\fix и выполните freeadt. На приглашение командной строки наберите Y, Enter.

FreeAdt1.png FreeAdt2.png

  • Черный экран пропадет вместе сообщениями о том, что все таблицы директории отвязаны от Словаря.
  • Для каждого вылеченного файла ассоциативно запускайте утилиту Advantage Database Architect, нажимая Enter на выбранном файле .ADT. В открывшемся окне выполняйте пункт меню Pack.

FreeAdt3.png

  • Разрешайте чистку
  • Копируйте вылеченные и вычищенные таблицы на их рабочее место в "Фабиус"
  • Внимание! Обязательно удалите в "Фабиус" одноименные с заменяемыми файлы .ADI. Например, вы восстановили таблицу DOCS0109 и заменяете в директории \Fabius\Opdata файлы DOCS0109.ADT и DOCS0109.ADM. Сразу же после замены файлов, или перед ней, удалите файл DOCS0109.ADI. И так для каждой заменяемой таблицы.