Как удалить или уменьшить огромный файл журнала регистрации 1Cv8.lgd, если он заблокирован?

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

В процессе администрирования серверов 1С часто возникает ситуация, когда на диске заканчивается свободное место. Одним из главных "пожирателей" пространства является папка с журналами регистрации, а именно файл 1Cv8.lgd, который может разрастаться до сотен гигабайт. Попытки удалить его вручную часто проваливаются из-за того, что файл постоянно занят системными процессами, даже если в базах нет активных пользователей. Рассмотрим по шагам, как решить эту проблему. Для этого есть инструмент выноса аудита во внешнюю базу ClickHouse.

Для начала выясним причину. Файл 1Cv8.lgd — это не простой текстовый лог, а полноценная база данных в формате SQLite. Когда вы выполняете стандартную операцию "Сократить журнал" через Конфигуратор, 1С удаляет записи из этой базы данных, но физический размер файла на диске не уменьшается. SQLite лишь помечает освободившееся место как доступное для новых записей. Чтобы реально вернуть место операционной системе, файл нужно либо сжать специальной командой, либо удалить и создать заново.

Решение 1: Полное удаление файла с корректной остановкой служб

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

ВАЖНО: Удаление журнала регистрации означает потерю всех данных о действиях пользователей и системных событиях. Если эти данные критически важны для аудита или анализа ошибок, обязательно сделайте архивную копию перед удалением. В Конфигураторе для этого есть функция «Администрирование» -> «Выгрузить журнал регистрации». Для этой задачи есть система мониторинга событий журнала регистрации.

Разберем процесс по шагам:

  1. Остановите службу Агента сервера 1С:Предприятия. Это ключевой шаг. Именно этот сервис (и порождаемые им процессы rphost.exe) держит блокировку на файле 1Cv8.lgd. Отключение баз от SQL-сервера, как упоминалось в обсуждении, здесь не поможет, так как журнал регистрации никак не связан с СУБД, однако может потребоваться программная установка и снятие блокировок.
    • Откройте консоль «Службы» (Services).
    • Найдите службу с именем «Агент сервера 1С:Предприятие 8.3» (или похожим, в зависимости от версии).
    • Нажмите правой кнопкой мыши и выберите «Остановить». Все активные сеансы пользователей будут принудительно завершены.
  2. Создайте резервную копию (рекомендуется). Скопируйте файл 1Cv8.lgd в безопасное место на случай, если записи из него понадобятся в будущем, особенно если вы используете логирование изменений справочников — поможет механизм архивации и свертки журнала изменений.
  3. Удалите файл 1Cv8.lgd. Теперь, когда служба остановлена, операционная система не должна препятствовать удалению. Найдите файл в каталоге информационной базы (обычно путь выглядит как C:\Program Files\1cv8\srvinfo\reg_1541\{ID_базы}\) и удалите его.
  4. Запустите службу Агента сервера 1С:Предприятия. Вернитесь в консоль «Службы» и запустите остановленную ранее службу.

После запуска платформа 1С автоматически создаст на месте удаленного файла новый, пустой 1Cv8.lgd, и пользователи снова смогут работать с базой.

Решение 2: Сжатие файла без удаления с помощью SQLite

Этот метод позволяет уменьшить размер файла, сохранив в нем актуальные записи журнала. Он полезен, если вы предварительно сократили журнал через Конфигуратор, но размер файла не изменился. Для этого нам понадобится сторонняя утилита sqlite3.exe.

  1. Скачайте утилиты командной строки для SQLite. Найдите на официальном сайте SQLite (sqlite.org) раздел загрузок и скачайте архив «sqlite-tools» для вашей операционной системы. Из него нам понадобится только файл sqlite3.exe.
  2. Остановите службу Агента сервера 1С. Как и в первом решении, для работы с файлом необходимо снять блокировку.
  3. Выполните команду VACUUM. Откройте командную строку (cmd) от имени администратора и выполните команду, указав путь к утилите и путь к вашему файлу журнала. Команда VACUUM перестраивает базу данных, удаляя пустое пространство и физически уменьшая размер файла.

    Пример команды:

    "C:\path\to\sqlite3.exe" "C:\Program Files\1cv8\srvinfo\reg_1541\{ID_базы}\1Cv8.lgd" "VACUUM;"

  4. Дождитесь завершения. Будьте готовы к тому, что для очень больших файлов (десятки и сотни гигабайт) процесс сжатия может занять несколько часов или даже суток. Он сильно нагружает дисковую подсистему.
  5. Запустите службу Агента сервера 1С. После успешного завершения команды запустите службу обратно.

Решение 3: Переход на старый формат журнала (.lgf)

Многие администраторы предпочитают отказаться от формата .lgd в пользу старого текстового формата. Его главное преимущество — журнал ведется в отдельных файлах, которые разбиваются по периодам (день, неделя, месяц). Это позволяет легко удалять старые архивы, просто стирая файлы за прошлые периоды, без остановки сервера и сложных манипуляций.

Чтобы изменить формат журнала:

  1. Откройте Конфигуратор нужной базы.
  2. Перейдите в меню «Администрирование» -> «Настройка журнала регистрации».
  3. В открывшемся окне измените формат с «Новый формат (LGD)» на «Старый формат (LGF)».
  4. Сохраните изменения. Старый файл 1Cv8.lgd больше использоваться не будет, и его можно будет удалить после остановки сервера 1С.

Решение 4: Радикальный метод через оснастку администрирования

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

  1. Откройте консоль администрирования серверов 1С («Администрирование серверов 1С:Предприятия»).
  2. Найдите в дереве нужную информационную базу.
  3. Запомните или скопируйте все ее настройки: имя, описание, сервер баз данных, имя базы данных, пользователя и т.д. Это критически важно для восстановления!
  4. Удалите информационную базу из списка в консоли (правой кнопкой мыши -> «Удалить»).
  5. После этого перейдите в папку srvinfo\reg_1541\ и удалите весь каталог, соответствующий этой базе (например, папку {ID_базы}, в которой лежал огромный 1Cv8.lgd).
  6. Вернитесь в консоль администрирования и создайте информационную базу заново, указав все те же параметры, что вы сохранили на шаге 3.

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

Диагностика: что еще может блокировать файл?

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

Чаще всего виновниками, помимо процессов 1С, могут быть:

← На главную