Что делать, если база 1С перестала отвечать, не заходит в конфигуратор и выдает ошибку EventLogService?

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

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

Анализ состояния сервера и ресурсов

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

  1. Занятость оперативной памяти: Если диспетчер задач показывает нагрузку на память около 95%, это критический порог. В таких условиях Microsoft SQL Server и процессы 1С (rphost) начинают конкурировать за ресурсы. SQL Server по умолчанию стремится занять всю доступную память, что может привести к вытеснению процессов 1С в файл подкачки, вызывая их «замирание».
  2. Очередь к дисковой подсистеме: Проанализируем монитор ресурсов. Значение очереди диска равное 1 или выше может указывать на то, что дисковая подсистема не справляется с потоком транзакций или операций ввода-вывода. Это часто случается при повреждении файлов журнала регистрации или слишком интенсивной записи логов.
  3. Доступное место: Проверим наличие свободного места на дисках, где расположены файлы базы данных (.mdf, .ldf) и папка с данными сервера 1С (srvinfo).

Проанализируем ситуацию, описанную в теме: при занятости памяти 95% и наличии очереди на диск база перестает отвечать. Это классический симптом «повисших» сеансов, которые не могут завершиться из-за блокировок или ошибок в сервисах кластера.

Разбор ошибки EventLogService

Выясним причину появления сообщения: serviceName=EventLogService; Ref=имя_базы. Эта ошибка указывает на то, что менеджер кластера rmngr не может запустить или получить доступ к службе журнала регистрации для конкретной информационной базы. Начиная с версий платформы 8.3.13, 1С активно использует новый формат журнала регистрации (SQLite, файл с расширением .lgd). Если этот файл поврежден, заблокирован антивирусом или процесс rphost не может получить к нему монопольный доступ, вход в базу блокируется полностью.

Для решения проблемы с журналом регистрации можно попробовать следующее:

Метод перерегистрации информационной базы

Если манипуляции с журналом не помогли, наиболее эффективным быстрым решением является перерегистрация базы в кластере 1С. Рассмотрим этот процесс пошагово:

  1. Откроем консоль Администрирование серверов 1С:Предприятие.
  2. Найдем нашу проблемную базу в списке информационных баз.
  3. Создадим новую запись информационной базы (клик правой кнопкой — Создать — Информационная база).
  4. В параметрах укажем те же данные SQL-сервера и то же имя базы данных в SQL, но дадим новое «Имя» (публикации) в кластере 1С (например, buh_new).
  5. Попробуем зайти в эту «новую» базу.

Почему это помогает? При создании новой записи в реестре кластера (1cv8wsrv.lst) система игнорирует все старые «зависшие» сеансы и блокировки, которые были привязаны к старому идентификатору базы. Это позволяет пользователям немедленно приступить к работе, пока администратор разбирается с очисткой старых процессов.

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

Ограничение потребления памяти SQL Server

Для предотвращения повторения ситуации, когда память занята на 95%, крайне важно ограничить «аппетиты» SQL-сервера. Если 1С и SQL стоят на одном сервере, выполним следующие действия:

  1. Запустим Microsoft SQL Server Management Studio.
  2. Нажмем правой кнопкой мыши на корень сервера и выберем Properties (Свойства).
  3. Перейдем в раздел Memory (Память).
  4. Установим значение Maximum server memory (in MB) таким образом, чтобы операционной системе и процессам 1С оставалось минимум 4–8 ГБ свободного объема (в зависимости от общего количества ОЗУ).

Тюнинг и настройка рабочего сервера 1С

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

Очистка серверного кэша и реестра сеансов

В некоторых случаях «призрачные» сеансы (ghost sessions) продолжают висеть даже после перезагрузки сервера. Рассмотрим процедуру полной очистки временных данных сервера:

  1. Остановим службу сервера 1С.
  2. Перейдем в каталог srvinfo.
  3. Найдем папку snaccnt. В ней хранятся данные о сеансах. Если мы уверены, что все пользователи вышли, содержимое этой папки можно очистить.
  4. Также полезно очистить папки temp внутри каталогов информационных баз в srvinfo.
  5. Запустим службу.

Проанализировав ситуацию с версией 8.3.13.1513, стоит отметить, что данная ветка платформы имела ряд известных проблем с утечками памяти в менеджере кластера. Если описанные выше меры помогают лишь на время, рассмотрим возможность обновления платформы на более стабильные релизы (например, из веток 8.3.17 или 8.3.22), где работа с EventLogService и SQLite была значительно оптимизирована.

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

← На главную