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

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

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

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

Журнал регистрации в 1С со временем разрастается до десятков гигабайт: файл 1Cv8.lgd в файловой базе или служебная таблица в клиент-серверном варианте накапливают записи обо всех действиях пользователей и фоновых заданиях. Из-за этого замедляется открытие журнала, растёт время резервного копирования, а в файловых базах увеличивается риск ошибок при работе. Обрезка журнала — штатная операция, но у неё есть ограничения и подводные камни, о которых нужно знать заранее.

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

Что такое журнал регистрации и почему он разрастается

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

В файловом варианте журнал хранится в каталоге базы — в подпапке 1Cv8Log в виде файла 1Cv8.lgd (в современном формате) или 1Cv8.lgf с набором файлов .lgp и .lgx (в старом формате). В клиент-серверном варианте данные журнала хранятся в служебной таблице EventLog базы данных на SQL-сервере.

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

Подготовка: что сделать до обрезки

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

Обязательно сделайте резервную копию базы до начала операции. Для файловой базы достаточно скопировать каталог базы целиком при завершённых сеансах. Для клиент-серверной — выполнить штатный backup средствами СУБД. Это страховка не только от потери журнала, но и от сбоев в процессе сокращения.

Определите формат хранения журнала: старый (файлы .lgf/.lgp/.lgx) или новый (1Cv8.lgd, формат SQLite). От этого зависит, какие инструменты подойдут для обрезки и просмотра. Штатная функция сокращения в конфигураторе работает с обоими форматами.

Обрезка журнала через конфигуратор

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

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

Порядок действий в конфигураторе
  1. 1
    Сделайте резервную копию базы и при необходимости выгрузите журнал
  2. 2
    Откройте конфигуратор под пользователем с полными правами
  3. 3
    Перейдите: Администрирование → Настройка журнала регистрации
  4. 4
    Нажмите «Сократить» и укажите дату, до которой удаляются события
  5. 5
    При необходимости включите сохранение удаляемых данных в файл
  6. 6
    Дождитесь окончания операции и проверьте размер журнала

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

Сокращение журнала в файловой базе удалением файлов

Если история журнала не нужна вовсе, самый быстрый способ — удалить файлы журнала целиком. Для файловой базы: завершите все сеансы, убедитесь, что база никем не открыта, затем удалите из каталога базы подпапку 1Cv8Log (или файлы 1Cv8.lgd, 1Cv8.lgf и связанные .lgp/.lgx, в зависимости от версии платформы). При следующем запуске платформа создаст пустой журнал автоматически.

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

Сравнение вариантов обрезки

Сокращение через конфигуратор

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

Удаление файлов журнала

Мгновенно освобождает место, подходит для тестовых баз. Минус — теряется вся история, требуется полная остановка работы.

Очистка средствами СУБД

Для клиент-серверных баз: быстро на больших объёмах, но требует навыков администрирования SQL и остановки работы.

Обрезка журнала в клиент-серверной базе

В клиент-серверном варианте журнал хранится в таблице EventLog базы данных. Штатное сокращение через конфигуратор работает и здесь, но на многомиллионных таблицах может выполняться очень долго и создавать нагрузку на СУБД. Поэтому администраторы часто очищают таблицу напрямую средствами SQL.

Типовой подход: остановить работу пользователей и службу агента сервера 1С, сделать backup базы, затем выполнить удаление записей из таблицы EventLog (полное — командой TRUNCATE TABLE, выборочное — DELETE с условием по дате). После этого запустить службу и проверить работу базы. Точный синтаксис зависит от используемой СУБД (MS SQL, PostgreSQL), поэтому операцию должен выполнять специалист, знакомый с администрированием выбранной СУБД.

sql
-- Пример для MS SQL: полная очистка журнала (выполнять только после backup и остановки работы)
TRUNCATE TABLE EventLog;

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

Настройка регистрации событий, чтобы журнал не разрастался

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

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

Маршрут решения

Как выбрать действие

Журнал нужен частично, важна свежая историяИспользуйте штатное сокращение через конфигуратор с указанием даты
История не нужна, база тестовая или журнал повреждёнУдалите файлы журнала при остановленной базе
Клиент-серверная база, журнал огромен, конфигуратор не справляетсяОчистите таблицу EventLog средствами СУБД после backup
Журнал растёт слишком быстроСнизьте уровень регистрации событий в настройках журнала

Проверка результата и типичные ошибки

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

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

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

Открытие журнала регистрации
Норма

Журнал открывается, записи начинаются с заданной даты

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

Ошибка открытия или пустой журнал при том, что события должны быть

Размер файлов журнала
Норма

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

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

Файл продолжает расти прежними темпами

Работа пользователей
Норма

Сеансы и регламентные задания выполняются без ошибок

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

В журнале появляются новые ошибки доступа к файлам

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

Ещё одна распространённая ситуация: администратор сокращает журнал, но через месяц он снова вырастает до прежнего размера. Причина — не изменённые настройки регистрации и активные фоновые задания, генерирующие поток событий. Обрезка решает симптом, а настройка уровня регистрации — причину.

Удобно выделить обрезку журнала в регламентную операцию: например, раз в квартал сокращать события старше трёх-шести месяцев. Такой график подбирают исходя из требований к хранению истории и темпа роста журнала в конкретной базе.
ПЗ
Практическое замечание

FAQ

Можно ли обрезать журнал регистрации без конфигуратора?

Да. В файловой базе достаточно удалить файлы журнала из каталога базы при завершённых сеансах — платформа создаст новый пустой журнал. В клиент-серверной базе таблицу EventLog очищают средствами СУБД. Выборочное удаление по дате без конфигуратора возможно только в SQL-варианте.

Уменьшится ли размер файла 1Cv8.lgd сразу после сокращения?

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

Можно ли восстановить удалённые события журнала?

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

Нужно ли монопольно закрывать базу для сокращения журнала?

Штатное сокращение через конфигуратор обычно выполняется без монопольного режима, но при активной работе пользователей идёт медленнее. Удаление файлов журнала и очистка таблицы EventLog в SQL требуют полной остановки работы с базой.

Что делать, если журнал регистрации повреждён и не открывается?

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

Как часто нужно обрезать журнал регистрации?

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

Итог

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

Обрезка журнала регистрации выполняется через конфигуратор (Администрирование → Настройка журнала регистрации → Сократить), удалением файлов в файловой базе или очисткой таблицы EventLog в клиент-серверной. Перед операцией обязательна резервная копия, а чтобы журнал не разрастался снова, настройте уровень регистрации событий.