С ошибками в работе баз данных, возникающими по самым разным причинам, начиная с отключения электричества, заканчивая поломкой оборудования, сталкивался любой пользователь и системный администратор. И если пользователь просто видит, что программа дает, например, перезагрузиться, но закрыть ее не получается, то администратор будет ошибки искать и бороться с ними.
Первым предложением каждого специалиста в такой ситуации, станет восстановление резервной копии. Если таковой не имеется или она устарела, необходимо будет предпринять ряд несложных действий, например, протестировать базу 1С. В данной статье мы рассмотрим только один из механизмов поиска и устранения ошибок в базах данных 1С, а также особенности его использования.
Тестирование и исправление информационной базы 1С мы рассмотрим на примере конфигурации 1С Бухгалтерия редакции 3.0 (релиз – 3.0.54.20), платформа - 8.3.10.2561. Для более старых редакций и других конфигураций, а также версий платформы 8.2, алгоритм работы данной утилиты аналогичен.
Начнем с нашего обязательного напоминания о том, что перед ЛЮБЫМИ манипуляциями с конфигуратором 1С, в том числе и перед тем, как провести тестирование и исправление базы 1С 8.3, рекомендуется создать резервную копию той базы данных, с которой мы собираемся иметь дело.
Нужный нам режим работы, созданный, чтобы протестировать базу 1С и исправить найденные ошибки, доступен в конфигураторе, в разделе меню «Администрирование».
Запустив утилиту, мы увидим следующее окно:
Оно содержит перечень проверок и режимов, а также способы тестирования. Остановимся на каждом из них подробнее.
Реиндексация таблиц ИБ – при постановке галочки проводится реиндексация таблиц. Это процесс полного перестроения индексов таблиц БД. Реиндексация достаточно сильно улучшает производительность и быстродействие систем 1С.
Контроль логической целостности ИБ – механизм проверки организации данных, а также нахождения ошибок в логической и структурной целостности исследуемой БД.
Ссылочная целостность ИБ – проверяет ИБ на наличие «битых» или «пустых» ссылок, которые появляются при некорректной обработке информации, а зачастую и при удалении данных или некорректно настроенном обмене данными.
Пересчет итогов, с понятием о которых мы сталкиваемся в регистрах 1С. Это таблицы результатов, подсчитанные данные из которых анализировать проще и быстрее, чем «пересматривать» весь регистр. Процедура способна увеличить скорость работы БД.
Сжатие таблиц ИБ – уменьшает объем БД. Дело в том, что при удалении объектов из БД, 1С не удаляет их окончательно, а только помечает на удаление. Т.е. они остаются в БД, но не доступны в работе. Если такие данные не удаляются специальной обработкой, то они удаляются при сжатии таблиц ИБ. Того же эффекта, кстати, можно достичь выгрузкой/загрузкой файла БД.
Реструктуризация таблиц ИБ – во время этого процесса система пересоздает таблицы БД. Обычно это происходит при внесении изменений в структуру метаданных конфигурации. Процесс может занять длительное время.
Чуть ниже этого списка находится поле выбора вида тестирования: будет ли проходить просто тестирование, при котором система покажет имеющиеся ошибки, но не будет их исправлять, или тестирование с дальнейшим исправлением. В этом случае система постарается исправить все найденные ошибки.
Еще ниже находятся варианты работы с «битыми» ссылками и при частичной потере данных. Доступны три варианта:
- Создавать объекты – система создает пустой элемент, который потом можно будет заполнить данными вручную.
- Очищать ссылки – «битые» ссылки и объекты с частичными данными будут удалены.
- Не изменять – только показав ошибки, объекты система менять не станет.
И последняя зона нашего окна – возможность приостановить и продолжить прерванное тестирование. Дело в том, что в некоторых БД процесс тестирования и исправления может занять длительное время (от 1-2, до 20-30 часов). При наличии подозрений на то, что система будет проводить проверку очень долго, можно поставить галочку «Прервать выполнение проверки через» и установить временной промежуток, по истечении которого выполнение проверки будет приостановлено.
При наличии галочки «Продолжить прерванное ранее тестирование», нажатие кнопки «Выполнить» продолжит тестирование с места остановки.
Утилита chdbfl.exe
Если в силу ряда причин попасть в конфигуратор мы не можем – нет прав на запуск, например, то можно воспользоваться утилитой «chdbfl.exe». Это, по сути, аналог тестирования и исправления файловой (для SQL не подходит) информационной базы. Она проводит проверку физической целостности БД. Рассмотрим, где она находится и как ею пользоваться.
Заходим в папку с установленной платформой. Скачивать файл не надо.
После запуска мы увидим следующее окно:
В нем нужно указать путь к файлу БД и подтвердить (или не делать этого) необходимость исправления выявленных ошибок. Путь к файлу БД можно узнать из списка баз данных.
После окончания проверки система сообщит о найденных ошибках.
консультация эксперта
самые свежие новости 1 раз в месяц