Какой формат журнала регистрации 1С 8.3 выбрать: старый (LGF/LGP) или новый (SQLite/LGD)?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Каждый администратор баз данных 1С:Предприятие рано или поздно сталкивается с дилеммой выбора оптимального формата ведения журнала регистрации. С выходом платформы 1С 8.3 разработчики предложили новый формат на базе СУБД SQLite (файлы с расширением .lgd), который должен был решить проблемы быстродействия. Однако на практике многие специалисты поспешили вернуться к классическому последовательному формату (файлы с расширениями .lgf и .lgp). В этой статье мы подробно разберем, почему новый формат не оправдал надежд, проанализируем технические проблемы обоих вариантов и рассмотрим пошаговые инструкции по безопасному переходу на надежную классику.

История развития и текущий статус форматов в 1С

Для начала кратко проанализируем хронологию развития этой технологии, чтобы понять логику фирмы «1С»:

  1. Появление формата SQLite (платформа 8.3.5): В 2014 году разработчики внедрили формат .lgd. Главной целью было ускорение процессов поиска, фильтрации событий и повышение отказоустойчивости за счет механизмов транзакционности SQLite.
  2. Откат рекомендаций (платформа 8.3.12): На практике новый формат показал себя крайне нестабильно на высоконагруженных и крупных базах данных. Начиная с версии 8.3.12, фирма «1С» вернула старый последовательный формат в качестве рекомендуемого по умолчанию.
  3. Полный отказ (платформа 8.3.22): В версиях платформы начиная с 8.3.22 (вышедших в 2022 году) поддержка формата SQLite (.lgd) была полностью прекращена. Возможность конвертации логов в этот формат была исключена из платформы. Для современных систем данный вопрос решился автоматически в пользу классического формата.

Почему новый формат на базе SQLite (.lgd) оказался неудачным?

Рассмотрим подробнее технические проблемы, из-за которых формат SQLite стал главным источником головной боли системных администраторов:

  1. Критическая проблема с блокировками при записи. СУБД SQLite блокирует всю базу данных при выполнении транзакции записи. В многопользовательских системах с высокой интенсивностью транзакций или активной работой фоновых заданий это приводило к образованию очередей, зависаниям рабочих процессов сервера 1С и резкому падению производительности дисковой подсистемы.
  2. Постоянная угроза повреждения данных. При аварийном завершении работы сервера 1С или перезапусках кластера монолитный файл .lgd регулярно повреждался. В логах появлялась фатальная ошибка database disk image is malformed. Для восстановления данных администраторам приходилось использовать сторонние консольные утилиты SQLite для выгрузки схемы и данных в SQL-дамп с его последующей ручной перезаписью. Пример схемы аварийного восстановления через командную строку выглядит следующим образом:

sqlite3 1Cv8.lgd ".recover" | sqlite3 1Cv8_fixed.lgd
# Или классический дамп-метод:
sqlite3 1Cv8.lgd .dump > dump.sql
sqlite3 1Cv8_fixed.lgd < dump.sql
  1. Сложность обслуживания и монолитность файла. В отличие от старого формата, файл SQLite невозможно автоматически разделять по периодам (дням, неделям, месяцам). Он растет единым огромным файлом. При этом обычное сокращение журнала через Конфигуратор лишь удаляет записи из базы данных, но размер самого файла на диске не уменьшается. Чтобы вернуть свободное место операционной системе, требуется выполнять блокирующую операцию сжатия VACUUM с помощью сторонних утилит, что требует полной остановки работы пользователей.
  2. Проблемы при чтении тяжелых логов. Попытка открыть журнал регистрации размером более 10–20 Гб штатными средствами Конфигуратора 1С очень часто приводила к исчерпанию оперативной памяти и падению приложения.

Преимущества старого формата (LGF / LGP)

Давайте выясним, почему старый последовательный формат остается эталоном стабильности:

Как переключить формат журнала регистрации обратно на старый?

Если ваша база данных работает на версиях платформы от 8.3.5 до 8.3.21 и в ней до сих пор активен формат SQLite, мы настоятельно рекомендуем перевести ее на стабильный классический формат. Разберем по шагам два способа решения этой задачи.

Способ 1. Штатный переход через Конфигуратор

Этот способ подходит в тех случаях, когда база данных работает в штатном режиме, а файл журнала регистрации не поврежден.

  1. Запустите информационную базу в режиме Конфигуратор с правами администратора.
  2. Откройте меню Администрирование и выберите пункт Настройка журнала регистрации....
  3. В появившемся диалоговом окне нажмите кнопку Изменить формат....
  4. Выберите классический последовательный формат и подтвердите действие. Система автоматически выполнит конвертацию накопленных данных. Обратите внимание, что для больших баз данных процесс конвертации может занять длительное время.

Способ 2. Ручной сброс формата (если Конфигуратор зависает)

Если файл .lgd поврежден, база данных работает со сбоями, а Конфигуратор зависает при попытке открыть настройки, проанализируем алгоритм ручного перевода:

  1. Полностью остановите службу сервера 1С:Предприятия (через консоль служб Windows или терминал Linux).
  2. Перейдите в каталог расположения файлов журнала регистрации. По умолчанию на сервере Windows путь выглядит следующим образом:

    C:\Program Files\1cv8\srvinfo\<Имя_Кластера>\<UID_Базы>\1Cv8Log

  3. Найдите и переместите все файлы с расширением .lgd в резервную папку на другом диске (для сохранения архива).
  4. В текущей папке 1Cv8Log создайте пустой текстовый файл и переименуйте его в 1Cv8.lgf (убедитесь, что расширение изменилось с .txt на .lgf). Наличие этого пустого файла является для платформы сигналом использовать классический формат логов.
  5. Запустите службу сервера 1С:Предприятия.

После запуска сервер обнаружит управляющий файл 1Cv8.lgf и начнет последовательную запись событий в новые файлы формата .lgp. Таким образом, мы быстро возвращаем систему к стабильной работе без потерь производительности.

← На главную