Почему после очистки журнала регистрации 1С файл 1Cv8.lgd не уменьшается в размере?

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

При работе с информационными базами 1С:Предприятие 8.3, использующими формат хранения журнала регистрации .lgd, многие администраторы сталкиваются с тем, что штатные механизмы очистки не освобождают место на диске. Давайте разберем, почему это происходит и как правильно выполнить обслуживание журнала.

Понимание архитектуры SQLite

Журнал регистрации в формате .lgd является полноценной базой данных SQLite. Когда вы запускаете стандартную процедуру очистки журнала из режима конфигуратора или через регламентные задания, 1С удаляет записи из таблицы логов. Однако движок SQLite устроен таким образом, что при удалении строк он не возвращает освободившееся пространство операционной системе, а помечает эти области как «свободные» внутри самого файла.

В результате, внутри файла образуются фрагментированные «дыры». Эти области будут повторно использованы системой при записи новых событий в журнал, но сам файл 1Cv8.lgd остается максимально раздутым. Чтобы физически уменьшить размер файла на диске, необходимо выполнить процедуру VACUUM.

Пошаговое руководство по сжатию журнала регистрации

Для того чтобы вернуть свободное место на диске, выполним следующие шаги. Будьте внимательны: процесс требует остановки работы сервера 1С.

  1. Остановка службы сервера: Прежде всего, необходимо остановить службу Агент сервера 1С:Предприятия. Это критически важное условие, так как файл журнала монопольно занят сервером, и выполнение любых операций с ним при активной службе приведет к ошибке доступа или повреждению данных.
  2. Подготовка инструмента: Скачайте актуальную версию утилиты sqlite3.exe с официального сайта разработчиков SQLite. Убедитесь, что версия утилиты совместима с вашей версией платформы.
  3. Создание резервной копии: Перед началом работ обязательно скопируйте файл 1Cv8.lgd в безопасное место.
  4. Выполнение команды сжатия: Откройте командную строку от имени администратора и выполните следующую команду: D:\scripts\sqlite3.exe D:\ПутьКБазе\1Cv8Log\1Cv8.lgd vacuum
  5. Запуск службы: После завершения работы утилиты, которая может занять продолжительное время в зависимости от размера файла, запустите службу сервера 1С обратно: net start \"1C:Enterprise 8.3 Server Agent (x86-64)\"

Важные рекомендации и предостережения

При выполнении обслуживания журнала 1Cv8.lgd учитывайте следующие аспекты:

Таким образом, то, что вы наблюдаете, является стандартным поведением SQLite. Используя описанный метод VACUUM, вы сможете эффективно контролировать размер журнала и поддерживать производительность дисковой подсистемы вашего сервера на должном уровне.

← На главную