Как просмотреть и проанализировать журнал регистрации удаленной базы 1С?

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

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

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

Развеиваем мифы: что действительно хранится в файле .lgd без самой базы?

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

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

  1. Имена пользователей сохранены полностью. Внутри файла содержится служебная таблица UserCodes. В ней напрямую в текстовом виде записаны имена пользователей (например, «Иванов Иван Иванович») и их уникальные идентификаторы UUID. Основная таблица логов ссылается на эту таблицу через числовые коды. Соответственно, узнать, «кто провел документ в январе», можно со 100%-й точностью.
  2. Текстовые представления объектов также сохранены. При записи любого события в журнал (например, проведение документа) платформа 1С генерирует понятную человеку строку (например, «Реализация товаров и услуг 000005 от 12.01.2023») и записывает ее в текстовое поле dataPresentation таблицы EventLog. Даже если физическая ссылка на объект утеряна, текстовое описание документа останется доступным для чтения.
  3. Имена метаданных присутствуют. Таблица MetadataCodes хранит сопоставление внутренних кодов и реальных путей к объектам конфигурации (например, Документ.РеализацияТоваровУслуг).

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

Рассмотрим подробнее три основных метода работы с таким журналом регистрации.

Метод 1. Прямое открытие файла через Конфигуратор 1С

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

Выполним следующие шаги:

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

Важное примечание: Если размер файла составляет 2 ГБ и более, процесс открытия может занять значительное время (от нескольких минут до получаса в зависимости от скорости дисковой подсистемы и объема оперативной памяти компьютера). Платформа оптимизирует чтение больших SQLite-файлов, поэтому не спешите закрывать программу, если она временно перейдет в состояние «Не отвечает». Дайте системе завершить индексацию и вывод данных на экран.

Метод 2. Подключение журнала регистрации к новой или архивной базе

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

  1. Создайте абсолютно новую пустую информационную базу 1С.
  2. Запустите ее один раз в режиме «Предприятие» или «Конфигуратор», чтобы платформа создала структуру каталогов на диске, после чего полностью закройте программу. Если база развернута на сервере приложений, остановите службу сервера 1С.
  3. Найдите каталог, в котором хранятся файлы журнала регистрации новой базы.
    • Для файлового варианта этот каталог находится непосредственно в папке базы данных и называется 1Cv8Log.
    • Для клиент-серверного варианта папка журнала находится на сервере в каталоге кластера (по умолчанию: C:\Program Files\1cv8\srvinfo\reg_1541\<Идентификатор_Базы>\1Cv8Log).
  4. Скопируйте ваш старый файл журнала регистрации в эту папку. Обратите внимание: имя файла должно быть строго 1Cv8.lgd. Если ваш файл назывался иначе, переименуйте его. Замените им автоматически созданный пустой файл.
  5. Запустите службу сервера (если база серверная), откройте базу в режиме «Предприятие» и перейдите в меню Администрирование — Журнал регистрации.

Совет эксперта: Если у вас сохранилась хотя бы старая, неактуальная резервная копия удаленной базы данных, лучше подключать журнал именно к ней. В этом случае внутренние уникальные идентификаторы (GUID) пользователей и метаданных совпадут с данными в журнале регистрации. Благодаря этому вы сможете не просто читать текстовые представления, но и открывать карточки существующих пользователей или сохранившихся документов двойным кликом мыши.

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

Метод 3. Чтение журнала напрямую через сторонние утилиты SQLite (без участия 1С)

В ситуациях, когда файл журнала регистрации поврежден, слишком огромен или Конфигуратор 1С стабильно зависает при попытке его прочитать, на помощь приходят специализированные инструменты для работы с базами данных SQLite. Посмотрим, как проанализировать лог с помощью бесплатной программы DB Browser for SQLite или любого другого SQL-клиента (например, DBeaver).

Этот метод дает колоссальное преимущество в скорости работы, так как позволяет использовать всю мощь SQL-запросов и выгружать результаты выборок напрямую в форматы Excel или CSV.

Разберем пример построения SQL-запроса к файлу журнала регистрации для поиска действий конкретного пользователя по проведению документов.

Для начала откройте ваш файл 1Cv8.lgd в программе DB Browser for SQLite. Перейдите на вкладку «Выполнить SQL» и введите следующий запрос:


SELECT 
    datetime(el.date/10000000 - 62135596800, 'unixepoch', 'localtime') AS ТочноеВремя,
    u.name AS Пользователь,
    m.name AS ТипМетаданных,
    el.dataPresentation AS Документ,
    el.comment AS Комментарий
FROM EventLog el
LEFT JOIN UserCodes u ON el.userCode = u.code
LEFT JOIN MetadataCodes m ON el.metadataCode = m.code
WHERE el.dataPresentation LIKE '%Реализация%'
ORDER BY el.date DESC
LIMIT 100;

Проанализируем этот SQL-запрос подробнее:

Технологический контекст: важная информация о формате .lgd

Разберем исторический контекст появления и развития этого формата. Журнал регистрации в формате СУБД SQLite (файлы с расширением .lgd) впервые появился в платформе «1С:Предприятие» версии 8.3.5. Его создание было обусловлено необходимостью ускорить построение сложных отборов по журналу на крупных предприятиях.

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

В результате фирма 1С признала архитектурную проблему и начиная с версии платформы 8.3.22 полностью отказалась от использования формата SQLite для журнала регистрации. Платформа вернулась к оптимизированному последовательному текстовому формату (файлы с расширениями .lgf, .lgp, .lgx) с использованием фонового индексирования.

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

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

← На главную