В современных версиях платформы 1С:Предприятие 8.3 (начиная с 8.3.5) разработчики внедрили новый формат журнала регистрации с расширением .lgd. В отличие от старого текстового формата .lgf, этот формат базируется на системе управления базами данных SQLite. Это решение было призвано ускорить поиск и фильтрацию событий, однако на практике администраторы часто сталкиваются с ситуацией, когда при достижении файлом значительных размеров (в нашем случае — 70 Гб) журнал просто перестает открываться в режиме «Предприятие» или в «Конфигураторе».
Давайте подробно разберем, почему это происходит, как проанализировать текущее состояние базы данных журнала и какие шаги предпринять для восстановления работоспособности системы логирования.
Когда мы видим, что файл 1Cv8.lgd на диске продолжает расти или изменять дату модификации, но список событий в интерфейсе 1С пуст, это не означает, что данные не записываются. Проанализируем техническую сторону вопроса:
.lgd хранятся не только сами события, но и сложные индексы по датам, пользователям, компьютерам и метаданным. При экстремальных размерах (свыше 20 Гб) эффективность этих индексов резко падает, а нагрузка на дисковую подсистему сервера возрастает в геометрической прогрессии.Прежде чем приступать к радикальным мерам, нам необходимо убедиться, что данные физически присутствуют в файле. Поскольку формат .lgd — это база данных SQLite, мы можем воспользоваться сторонними инструментами, такими как DB Browser for SQLite или командная строка sqlite3.
Рассмотрим пример SQL-запроса, который поможет нам увидеть последние записи напрямую, минуя интерфейс 1С:
SELECT Date, AppName, UserCode, Event, Comment
FROM EventLog
ORDER BY Date DESC
LIMIT 100;
Если этот запрос возвращает данные, значит, проблема исключительно в механизмах отображения платформы 1С, которые не справляются с объемом. Если же запрос также «зависает», значит, файл базы данных требует технического обслуживания.
Проанализируем ситуацию: в SQLite удаление записей не уменьшает размер файла физически, оно лишь помечает страницы как «свободные». Чтобы вернуть место операционной системе и перестроить индексы, необходимо выполнить команду VACUUM.
Важно: Для выполнения этой операции на файле в 70 Гб вам потребуется еще как минимум 70 Гб свободного места на том же диске, так как SQLite создает временную копию базы.
Алгоритм действий:
1Cv8.lgd через консоль SQLite.
VACUUM;
Если нам удается зайти в Конфигуратор (иногда после перезагрузки сервера это возможно на короткое время), мы должны незамедлительно выполнить сокращение журнала. Разберем, как это сделать правильно:
После этой процедуры платформа выполнит очистку таблиц, но размер файла на диске может не уменьшиться сразу. В этом случае все равно потребуется VACUUM.
Если ваша информационная база генерирует десятки гигабайт логов ежемесячно, формат .lgd будет постоянно доставлять неудобства. Рассмотрим альтернативы:
Чтобы избежать ситуации, когда журнал «исчезает» в самый неподходящий момент, мы рекомендуем придерживаться следующих правил при работе с форматом .lgd:
Установите лимит объема: Практика показывает, что «комфортный» предел для SQLite в 1С — это 10–20 Гб. Настройте регламентное задание в Windows или скрипт, который будет оповещать вас при достижении файлом 1Cv8.lgd размера в 20 Гб.
Регулярная архивация: Настройте ежемесячное сокращение журнала регистрации. Старые данные лучше хранить в отдельных архивных файлах (.elf или .lgp), а рабочий журнал держать «легким».
Настройка уровней логирования: Проанализируйте, какие события записываются в журнал. Часто в него попадают избыточные данные, например, информация о каждом успешном входе/выходе или незначительные изменения фоновых заданий. В настройках журнала (Администрирование - Настройка журнала регистрации) можно установить уровень Регистрировать ошибки и предупреждения, если детальный аудит всех действий не требуется политикой безопасности.
Таким образом, ситуация с 70-гигабайтным журналом является классической проблемой переполнения файловой базы данных. Переход на более эффективные способы хранения или регулярное обслуживание SQLite-файла позволит вам сохранить контроль над событиями в вашей информационной базе.