К статье
Практический материал

Администрирование · 9 мин

Где хранится журнал регистрации 1С в SQL-базе

Где хранится журнал регистрации 1С в SQL-базе: формат lgd и lgf, таблица EventLog, выгрузка через конфигуратор и запросы. Практические инструкции для администраторов.

Журнал регистрации в клиент-серверном варианте 1С не хранится в таблицах SQL-базы вместе с данными конфигурации. Это отдельный файл на диске сервера, к которому платформа обращается напрямую. Поэтому попытка найти события журнала обычным запросом к базе данных чаще всего заканчивается ничем — их там просто нет.

В зависимости от версии платформы журнал регистрации хранится либо в старом бинарном формате .lgp, либо в новом формате .lgd, который внутри устроен как база SQLite. Именно второй вариант позволяет читать журнал SQL-запросами — но не через сервер СУБД, где лежит сама база 1С, а через файл на диске.

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

Где физически лежит журнал регистрации

В файловом варианте работы журнал регистрации находится в подкаталоге 1Cv8Log внутри каталога информационной базы. В клиент-серверном варианте картина иная: каталог базы создаётся на сервере 1С:Предприятия (сервере приложений), а не на сервере СУБД.

Типовой путь на сервере 1С выглядит так: C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log. GUID базы можно посмотреть в консоли кластера серверов 1С — откройте свойства информационной базы и скопируйте её идентификатор. Внутри каталога 1Cv8Log лежит один или несколько файлов журнала.

Важно понимать: сервер СУБД (MS SQL Server, PostgreSQL) хранит только данные конфигурации — справочники, документы, регистры. Журнал регистрации туда не пишется. Поэтому искать его средствами SQL Server Management Studio в таблицах базы бессмысленно.

Форматы хранения: LGP и LGD

Исторически платформа использовала собственный бинарный формат 1Cv8.lgp. Файл периодически разрезался на части по дате, а читать его можно было только штатными средствами платформы: через конфигуратор или функцию «ВыгрузитьЖурналРегистрации» встроенного языка.

Начиная с версии платформы 8.3.5 появился новый формат 1Cv8.lgd. Внутри это обычная база данных SQLite: один файл, таблица событий, индексы. Такой файл открывается любым инструментом, работающим с SQLite, и события можно выбирать произвольными SQL-запросами.

Переключение формата выполняется в конфигураторе: меню «Администрирование» → «Настройка журнала регистрации» → кнопка «Сменить формат». После конвертации рядом появится файл 1Cv8.lgd, а старые файлы .lgp останутся для истории.

Сравнение форматов журнала

Формат LGP (старый)

Проприетарный бинарный формат. Читается только платформой: конфигуратором или встроенным языком. Прямые SQL-запросы невозможны.

Формат LGD (новый)

Файл SQLite. Читается штатно платформой и внешними инструментами через SQL-запросы. Подходит для интеграции с системами мониторинга.

Как выгрузить журнал штатными средствами

Самый безопасный способ получить данные журнала — не трогать файлы напрямую, а использовать механизмы платформы. В конфигураторе откройте «Администрирование» → «Журнал регистрации», установите отбор по дате, пользователю, типу события и выгрузите результат в файл через кнопку «Выгрузить».

Для регулярной выгрузки удобнее встроенный язык. Метод ВыгрузитьЖурналРегистрации() позволяет записать события в XML-файл по расписанию — например, регламентным заданием или внешним скриптом, запускающим 1С в пакетном режиме.

bsl
// Выгрузка событий за сутки в XML
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ДатаНачала", НачалоДня(ТекущаяДата() - 86400));
ПараметрыОтбора.Вставить("ДатаОкончания", ТекущаяДата());
ВыгрузитьЖурналРегистрации("C:\Logs\EventLog.xml", ПараметрыОтбора);

Штатная выгрузка не блокирует работу пользователей и не рискует повредить файл журнала — платформа сама управляет доступом. Для большинства задач аудита этого достаточно.

Как читать файл LGD SQL-запросами

Если журнал в формате LGD, его можно открыть утилитой sqlite3 или любым просмотрщиком SQLite (например, DB Browser for SQLite). Основная таблица с событиями называется EventLog, в ней есть поля даты, уровня важности, пользователя, компьютера, события и комментария.

Критическое правило: не открывайте живой файл на работающем сервере. SQLite при открытии может создавать служебные файлы и блокировать запись, что чревато ошибками в работе платформы. Скопируйте файл 1Cv8.lgd на отдельную машину или в другой каталог и работайте с копией.

Порядок чтения журнала через SQL
  1. 1
    Остановите отбор: убедитесь, что журнал в формате LGD (файл 1Cv8.lgd в каталоге 1Cv8Log).
  2. 2
    Скопируйте файл 1Cv8.lgd в отдельный каталог на своей рабочей машине.
  3. 3
    Откройте копию в sqlite3 или DB Browser for SQLite.
  4. 4
    Выполните запрос к таблице EventLog с фильтрами по дате и событию.
  5. 5
    Проверьте результат: даты в журнале хранятся в числовом формате, их нужно преобразовывать.

Пример запроса к копии файла:

sql
SELECT rowid, date, severity, userName, event, comment
FROM EventLog
ORDER BY rowid DESC
LIMIT 100;

Учтите, что дата в LGD хранится в числовом представлении платформы 1С, а не в привычном формате SQLite. Для анализа проще выгрузить выборку в CSV и обработать даты во внешнем инструменте, либо использовать штатную выгрузку журнала, где даты уже человекочитаемы.

Настройка и ротация журнала

Без контроля журнал регистрации растёт неограниченно и может занять десятки гигабайт, особенно если включена регистрация всех событий. Настройка выполняется в конфигураторе: «Администрирование» → «Настройка журнала регистрации».

Там задаётся уровень детализации: можно регистрировать только ошибки, ошибки и предупреждения или все события включая информационные. Для большинства рабочих баз разумный минимум — ошибки и предупреждения плюс события доступа (вход, выход, отказ в доступе).

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

Типичные ошибки
01
Искать журнал регистрации в таблицах SQL-базы — его там нет, он лежит файлом на сервере приложений 1С.
02
Открывать живой 1Cv8.lgd в SQLite-редакторе — риск блокировок и повреждения файла.
03
Включить регистрацию всех событий без ротации — журнал разрастается и съедает диск сервера.
04
Удалять файлы журнала вручную при работающем сервере — платформа может держать файл открытым, удаление приведёт к ошибкам записи.

Диагностика: журнал не пишется или не открывается

Если в конфигураторе журнал пуст или события перестали появляться, проверьте базовые вещи. Первое — не закончилось ли место на диске сервера приложений: при переполнении запись в журнал прекращается. Второе — права учётной записи службы агента сервера 1С на каталог 1Cv8Log.

Третья частая причина — повреждение файла журнала после аварийного выключения сервера. Признак: конфигуратор выдаёт ошибку при открытии журнала. В этом случае остановите службу агента сервера, переместите повреждённый файл из каталога, запустите службу — платформа создаст новый пустой журнал. Старый файл можно попробовать прочитать как копию.

Контрольные точки

Как проверить результат

Файл журнала существует и растёт
Норма

Размер 1Cv8.lgd увеличивается в течение рабочего дня

Тревожный признак

Размер не меняется сутками при активной работе пользователей

Открытие в конфигураторе
Норма

Журнал открывается, события отображаются с отборами

Тревожный признак

Ошибка чтения журнала или пустой список при активной базе

Место на диске
Норма

На разделе srvinfo есть запас свободного места

Тревожный признак

Диск заполнен, запись событий остановлена

Частые вопросы

Можно ли найти журнал регистрации в таблицах базы MS SQL или PostgreSQL?

Нет. Журнал регистрации не хранится в реляционной базе — это отдельный файл 1Cv8.lgd (или 1Cv8.lgp) в каталоге 1Cv8Log на сервере приложений 1С. В SQL-базе есть только служебные таблицы конфигурации, событий журнала среди них нет.

Как узнать GUID базы, чтобы найти каталог журнала?

Откройте консоль кластера серверов 1С, найдите нужную информационную базу в списке и посмотрите её свойства — там указан уникальный идентификатор. Каталог с этим именем внутри srvinfo\reg_1541 и содержит подкаталог 1Cv8Log с журналом.

Можно ли читать журнал формата LGP через SQL?

Нет, LGP — закрытый бинарный формат, читаемый только платформой. Чтобы получить возможность SQL-доступа, переключите журнал на формат LGD через настройку журнала регистрации в конфигураторе. Старые LGP-файлы при этом останутся доступны для просмотра штатными средствами.

Безопасно ли удалять старые файлы журнала регистрации?

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

Почему даты в таблице EventLog выглядят как большие числа?

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

Как настроить регулярный экспорт журнала в автоматическом режиме?

Используйте метод ВыгрузитьЖурналРегистрации встроенного языка: создайте обработку с отбором по периоду и запускайте её через регламентное задание или пакетный режим запуска 1С по расписанию. Результат сохраняйте в XML или CSV — такие файлы удобно загружать в системы мониторинга и SIEM.

Итог

Что важно запомнить

Журнал регистрации 1С хранится не в SQL-базе, а в файле 1Cv8.lgd (SQLite) или 1Cv8.lgp в каталоге 1Cv8Log на сервере приложений. Читайте LGD SQL-запросами только с копии файла, для регулярных задач используйте штатную выгрузку, а рост журнала контролируйте настройкой ротации.