Оглавление
Введение в проблему
Ошибка 'Не найдено ни одного сервера с размещенным сервисом' является довольно распространённой для клиент-серверных баз.
О каких сервисах здесь идёт речь? Дело в том, что кластер 1с обращается за какой-то частью функциональности к рабочим серверам, то есть это часть внутренней архитектуры кластера.
И вот в какой-то момент кластер хочет воспользоваться каким-то механизмом и выясняется, что ни один из рабочих серверов не может оказать кластеру такую "услугу" (сервис), так как:
- либо у него (у рабочего сервера) в настройках не настроены должным образом требования назначения соответствующей функциональности
- либо этот рабочий сервер оказывается настолько перегружен запросами на выполнение какой-либо задачи, что отказывает кластеру в запросе
И далее кластер возвращает конфигуратору ошибку, что мол не получилось найти ни одного сервера с размещенным сервисом... и далее следует указание имени сервиса, с которым возник затык (например, IntegrationDataService, ClusterConfigService
Что с этим делать
Если возникновение ошибки постоянно - тут скорее всего дело именно в том, что для рабочих серверов не настроены должным образом требования для назначения функциональности.
Если же ошибка не регулярная - стоит искать причины, по которым возникает чрезмерная загруженность рабочих серверов, не позволяющая им оперативно обрабатывать запросы от кластера. И здесь какого-то простого и универсального совета, к сожалению, нет. Изучайте опыт других пользователей: ссылка на статьи из поиска.
Если ошибка возникает в момент обновления конфигурации базы данных
Вот пример такого отчёта по такой операции:
Во-первых, конкретно эту ошибку (не найден сервис IntegrationDataService в момент обновления конфигурации базы данных) 1с зарегистрировала и выпустила исправление: https://bugboard.v8.1c.ru/error/000115271
Ошибка исправлена начиная с 8.3.20.1789, 8.3.21.1302 и 8.3.22.1368.
Во-вторых, в этом случае как замечают пользователи достаточно часто помогает повторная попытка обновления конфигурации базы данных. И я реализовал этот функционал в обновляторе.
Чтобы его включить зайдите в свойства серверной базы и там на закладке "Обновление" в разделе "Сам процесс" установите опцию "Повторять попытку обновления конфигурации базы данных для известных ошибок":
В этом случае, если обновление конфигурации базы данных вернёт код ошибки, а в логе 1с по такому обновлению будет найдена строка 'Не найдено ни одного сервера с размещенным сервисом' - обновлятор сделает паузу и повторит попытку обновления конфигурации базы данных.