При работе в клиент-серверном режиме нередко возникает ситуация, когда при запуске информационной базы 1С:Предприятия с одного рабочего места (например, локально на компьютере администратора) подключение проходит успешно, а при входе через сеанс удаленного рабочего стола (RDP) система выдает ошибку «Информационная база не обнаружена». При этом соседние базы, расположенные на том же самом сервере СУБД, могут открываться без каких-либо нареканий.
Разберем детально, как устроено клиент-серверное взаимодействие в 1С, почему возникает эта ошибка, как провести пошаговую диагностику и какие варианты решения помогут предотвратить подобные сбои в будущем.
Проанализируем сначала, как клиентское приложение 1С связывается с базой данных в трехзвенной архитектуре. Пользовательский клиент (тонкий или толстый) никогда не подключается напрямую к серверу СУБД (MS SQL Server, PostgreSQL и др.). Взаимодействие всегда происходит через промежуточное звено — кластер серверов 1С:Предприятия.
Параметры подключения к серверной базе задаются двумя ключевыми параметрами в строке запуска:
Srvr — сетевое имя или IP-адрес сервера, на котором запущен менеджер кластера 1С (процесс rmngr), с возможным указанием сетевого порта.Ref — имя информационной базы в реестре кластера серверов 1С (именно так, как она зарегистрирована в консоли администрирования кластера).Когда клиент отправляет запрос к менеджеру кластера, сервер ищет базу по значению параметра Ref. Если в кластере нет зарегистрированной базы с точно таким именем, служба кластера возвращает клиенту сообщение: «Информационная база не обнаружена».
Рассмотрим по шагам, как локализовать и устранить проблему, если база открывается локально, но недоступна из терминальной сессии.
// Пример строки, прописанной в RDP-сессии (с ошибкой в имени базы):
Srvr="192.168.0.40";Ref="Buh_Bek";
// Корректная строка подключения, работающая локально:
Srvr="192.168.0.40";Ref="BuhBek";
NBSP) или спецсимволы в начале/конце имени базы. Они не видны визуально в поле ввода, но менеджер кластера воспринимает их как часть имени. Рекомендуется вручную стереть значение поля «Имя информационной базы» и набрать его заново.ras или оснастку MMC). Перейдем в раздел «Информационные базы» нужного кластера и проверим точное наименование базы в списке. Имя в свойстве базы должно символ в символ совпадать со значением параметра Ref.1541), а затем перенаправляется на рабочий процесс rphost (диапазон портов 1560-1591). Если менеджер кластера возвращает клиенту NetBIOS- или FQDN-имя сервера вместо IP-адреса, а на терминальном сервере не настроено корректное разрешение имен через DNS или файл hosts, сеанс будет разорван. Проверить доступность портов можно с помощью системных сетевых команд, например командлета PowerShell Test-NetConnection.ONLINE и для нее установлен многопользовательский режим (MULTI_USER), а не режим монопольного доступа (SINGLE_USER).Чтобы избежать подобных ситуаций и не тратить время на поиск опечаток в клиентских строках подключения, разберем лучшие практики администрирования клиентских мест 1С.
ibases.v8i) и разместим его на общем сетевом ресурсе. Путь к общему файлу прописывается в файле конфигурации запуска 1cestart.cfg с помощью параметра CommonInfoBases=\\server\share\ibases.v8i. В этом случае изменения в списке баз централизованно применяются для всех пользователей сразу..v8i прямо из стартового окна 1С. Полученный файл достаточно скопировать на терминальный сервер и открыть, что исключает ошибки ручного ввода.%LocalAppData%\1C\1Cv8 и %AppData%\1C\1Cv8) либо применим ключ запуска /ClearCache в дополнительных параметрах запуска информационной базы.ws="http://server/base_name". Это снимает необходимость открывать диапазон портов рабочих процессов кластера и исключает проблемы с разрешением внутренних сетевых имен хостов.