Обновление платформы «1С:Предприятие» — процедура штатная, но нередко она преподносит сюрпризы системным администраторам. Одна из самых неприятных ситуаций: инсталляция прошла успешно, файлы скопированы, но консоль администрирования выдает ошибку (поможет инструмент администрирования кластеров и баз 1С), а пользователи не могут подключиться к базам. При детальном изучении выясняется, что в списке системных служб Windows просто отсутствует Агент сервера 1С:Предприятия. Рассмотрим подробнее, почему это происходит и как восстановить работоспособность сервера несколькими способами.
Прежде чем приступать к активным действиям, проанализируем ситуацию. Основная причина кроется в том, что в процессе установки новой версии инсталлятор не смог корректно выполнить регистрацию исполняемого файла ragent.exe в качестве системной службы. Это может произойти по ряду причин:
USR1CV8), а пароль был введен неверно или у учетной записи отозвано право «Вход в качестве службы», регистрация завершится ошибкой, которую установщик может не вывести в явном виде.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ сохраняется запись о старой службе, ссылающаяся на уже удаленный каталог.Разберем самый простой и эффективный способ, который помог автору темы. Если служба не появилась, нам необходимо инициировать процесс изменения состава установленных компонентов. Выполним следующие шаги:
USR1CV8 и заново ввести его пароль.После завершения установки проверим список служб (команда services.msc в строке выполнения). Служба должна появиться и иметь статус «Выполняется».
Если мы не хотим заново запускать инсталлятор, разберем по шагам способ ручной регистрации процесса ragent.exe. Это более «профессиональный» метод, позволяющий точно указать все параметры запуска. Нам потребуется запустить командную строку (cmd) от имени администратора.
Сначала перейдем в каталог bin установленной версии платформы:
cd "C:\Program Files\1cv8\8.3.XX.XXXX\bin"
Где 8.3.XX.XXXX — номер вашей актуальной версии. Теперь выполним команду для удаления возможных остатков старой службы (даже если её не видно в списке, это поможет очистить реестр):
ragent.exe -rmsrvc
Теперь зарегистрируем службу заново, указав необходимые порты и путь к данным кластера. Обратите внимание на параметр -d, который указывает на папку srvinfo. Крайне важно указать её правильно, чтобы сервер «подцепил» список ваших существующих информационных баз:
ragent.exe -instsrvc -usr ".\USR1CV8" -pwd "ВашПароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
После выполнения этой команды служба должна мгновенно появиться в списке системных служб. Нам останется только запустить её вручную или командой net start "1C:Enterprise 8.3 Server Agent". Для дальнейшего контроля и перезапуска службы можно также использовать специализированные веб-утилиты — поможет мониторинг ошибок 1С с уведомлениями в Telegram.
Бывает так, что служба появилась, но при попытке запуска мы получаем ошибку. Проанализируем ситуацию и проверим два критически важных момента:
USR1CV8 (или тот, под которым запускается служба) обязан иметь права «Полный доступ» на каталог с данными кластера. После обновления или переустановки права иногда сбрасываются. Настроим их через свойства папки на вкладке «Безопасность».*.lst (кроме 1cv8reg.lst, где описаны базы) или очистка содержимого папки snccntx.Посмотрим на ситуацию, когда на одном сервере требуется держать две версии платформы. В этом случае мы не можем использовать стандартные порты (1540, 1541) для второй службы, так как они будут заняты первой. При ручной регистрации (Способ 2) нам нужно будет изменить имя службы и номера портов:
ragent.exe -instsrvc -sn "1C_Enterprise_New_Version" -regport 1641 -port 1640 -range 1660:1691 -d "D:\1C_Data\New_Srvinfo"
Использование параметра -sn позволяет задать уникальное имя службы, что исключает конфликт с уже установленными версиями. Таким образом, мы обеспечим параллельную работу разных релизов платформы на одном физическом сервере.
Подводя итог, отметим, что «исчезновение» службы — это чаще всего вопрос корректности регистрации в реестре и прав доступа. Использование ручной регистрации через ragent.exe является наиболее надежным методом, так как позволяет четко контролировать параметры запуска и пути к данным. Подобные ситуации входят в общую справку по задачам администрирования 1С — для этого подойдёт инструмент для администрирования и сопровождения 1С.