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

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

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

Поймем механизм хранения журнала регистрации

Прежде всего, проанализируем ситуацию: в отличие от самой конфигурации и учетных данных, которые хранятся в таблицах SQL-сервера, журнал регистрации (ЖР) представляет собой набор файлов на диске сервера 1С. Рассмотрим структуру папок рабочего каталога кластера. По умолчанию он находится по пути %ProgramFiles%\1cv8\srvinfo. Внутри этой директории располагается папка кластера (например, reg_1541), в которой содержатся подкаталоги с именами в формате GUID (уникальный идентификатор информационной базы).

Выясним причину исчезновения записей: когда вы удаляете базу из списка в консоли администрирования 1С и создаете её заново с тем же именем, сервер присваивает этой базе новый GUID. Соответственно, 1С начинает писать новый лог в новую пустую папку, а старые файлы остаются лежать в каталоге под старым идентификатором. База данных SQL подгружена старая, но связь с файлами журнала на диске потеряна. Для автоматического сопоставления каталогов с базами можно использовать обработку для анализа файла 1CV8Clst.lst и списка баз.

Как идентифицировать старую папку с журналом

Разберем, как среди множества папок с непонятными именами (GUID) найти ту, которая принадлежала вашей базе до сбоя или замены диска. Рассмотрим по шагам:

  1. Откроем текстовым редактором файл 1CV8Clst.lst, который находится в корне папки кластера (например, в reg_1541).
  2. Найдем в тексте название нашей информационной базы (например, "Ut11"). Рядом с именем будет указан текущий ID базы.
  3. Сравним список папок в каталоге reg_1541. Те папки, идентификаторы которых не значатся в 1CV8Clst.lst как активные, скорее всего, являются «ошметками» удаленных или пересозданных баз.
  4. Определим нужную папку по дате изменения файлов в подкаталоге 1Cv8Log или по размеру файлов. Старый журнал за несколько лет будет весить значительно больше нового.

Методы просмотра файлов журнала регистрации

Существует несколько форматов хранения журнала: старый текстовый (файлы .lgf и .lgp) и новый на базе SQLite (файл .lgd). Выбор метода просмотра зависит от формата.

Способ 1: Использование Конфигуратора (для формата .lgf/.lgp)

Рассмотрим ситуацию, когда у нас есть файлы .lgf (информационный файл) и множество файлов .lgp (данные по периодам). Чтобы просмотреть их:

  1. Запустим 1С в режиме Конфигуратор.
  2. Выберем меню Файл — Открыть.
  3. Укажем путь к файлу 1Cv8.lgf. Важно: файлы данных .lgp должны находиться в этой же папке, иначе список событий будет пустым.

Если файл журнала очень большой (например, более 8 Гб), Конфигуратор может выдать ошибку "Недостаточно памяти". Это происходит потому, что 32-битный процесс не может обработать такой массив данных целиком. В этом случае перейдем к следующему способу.

Способ 2: Подмена файлов в копии информационной базы

Этот метод считается самым надежным, так как позволяет использовать стандартные фильтры 1С в режиме «Предприятие». Проанализируем алгоритм работы:

  1. Создадим на сервере 1С новую временную информационную базу (копию).
  2. Остановим службу 1C:Enterprise 8.3 Server Agent через оснастку services.msc.
  3. Найдем папку 1Cv8Log новой базы и удалим её содержимое.
  4. Скопируем в эту папку все файлы старого журнала (все файлы .lgp, .lgf или .lgd).
  5. Запустим службу сервера 1С.
  6. Зайдем в созданную копию базы в режиме Предприятие.
  7. Откроем Обслуживание — Журнал регистрации. Теперь система будет подтягивать данные из старых файлов, и вы сможете искать события по конкретным документам или пользователям.

Работа с форматом SQLite (.lgd)

Если в вашей базе используется современный формат журнала, вы увидите в папке 1Cv8Log один большой файл 1Cv8.lgd. Разберем, как работать с ним, если 1С отказывается его открывать. Посмотрим на структуру файла через внешние утилиты, такие как SQLiteStudio или DB Browser for SQLite. Файл .lgd — это обычная база данных SQLite.

Для продвинутых пользователей рассмотрим пример SQL-запроса для получения данных напрямую из таблицы EventLog. Помните, что время в 1С хранится специфическим образом (количество микросекунд с 0001 года). Выясним, как преобразовать его в читаемый вид:


SELECT 
    datetime(date / 10000 - 62135596800, 'unixepoch') AS HumanTime,
    ConnectID,
    Session,
    AppID,
    EventID,
    Comment
FROM EventLog
ORDER BY date DESC
LIMIT 100;

Этот метод позволяет быстро найти записи, если штатные средства 1С «зависают» на больших объемах данных. Для анализа ключевых событий и ошибок доступа в восстановленном логе подойдёт обработка для экспресс-аудита журнала регистрации.

Рекомендации по предотвращению проблем

Чтобы в будущем не сталкиваться с потерей истории действий, проанализируем следующие рекомендации:

  1. Включите версионирование объектов: В конфигурации (например, УТ 11) перейдите в НСИ и администрирование — Поддержка и обслуживание — Версионирование объектов. В отличие от журнала регистрации, версии документов хранятся в основной базе SQL и не пропадают при манипуляциях с кластером.
  2. Используйте символьные ссылки: Если диск C переполняется из-за логов, не нужно переустанавливать сервер. Остановите службу 1С, перенесите папку srvinfo на другой диск и создайте связь командой mklink /d в командной строке Windows.
  3. Регулярно сокращайте журнал: Используйте стандартную обработку Сокращение журнала регистрации. Она выгружает старые записи в отдельный файл, который можно убрать в архив, сохраняя основной рабочий журнал компактным и быстрым.

Таким образом, мы рассмотрели все основные способы восстановления доступа к историческим данным журнала регистрации 1С. Помните, что главным ключом к решению задачи является понимание связи между GUID базы в кластере и физическим расположением файлов на диске сервера.

← На главную