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

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

Почему 1С не видит сервер: диагностика и решение

Разбираем, почему клиент 1С не видит сервер приложений или SQL-сервер: сеть, службы, брандмауэр, имена и порты. Пошаговая диагностика и решения.

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

Важно понимать, о каком именно сервере идёт речь. В типовой схеме есть два уровня: сервер приложений «1С:Предприятие» (агент кластера) и сервер СУБД (MS SQL Server, PostgreSQL и др.). Клиент сначала обращается к агенту кластера, а тот уже работает с базой данных. Ошибка на любом из этих уровней выглядит для пользователя одинаково — «не видит сервер» — но диагностируется по-разному.

Ниже приведён практический порядок проверки — от самых простых причин к более сложным. Следуйте шагам последовательно: в большинстве случаев проблема находится на первых двух-трёх этапах.

Первичная диагностика: сузить круг причин

Прежде чем что-то чинить, определите, на каком уровне происходит сбой. Откройте командную строку на проблемном клиентском компьютере и выполните ping имя_сервера — используйте именно то имя, которое указано в строке подключения к информационной базе. Если ping не проходит по имени, но проходит по IP-адресу, проблема в разрешении имён. Если не проходит и по IP — проблема в сети или сервер выключен.

Второй быстрый тест — проверка доступности порта агента кластера. По умолчанию агент сервера 1С слушает порт 1540, а рабочие процессы занимают диапазон 1560–1591. Проверить доступность порта можно командой telnet имя_сервера 1540 или через PowerShell командой Test-NetConnection имя_сервера -Port 1540. Успешное подключение означает, что сеть и служба в порядке, и искать нужно глубже — в настройках кластера или базы.

powershell
Test-NetConnection srv-1c -Port 1540
Ping по имени не проходит, по IP проходитПроблема с DNS или файлом hosts

Проверить разрешение имени сервера

Ping проходит, порт 1540 закрытСлужба агента остановлена или порт заблокирован

Проверить службу и брандмауэр

Порт 1540 доступен, база не открываетсяПроблема уровня кластера или СУБД

Проверить консоль кластера и SQL-сервер

Не работает у всех пользователейПроблема на сервере

Смотреть службы и сервер целиком

Не работает у одного пользователяПроблема на клиенте

Проверить сеть, антивирус, кэш клиента

Проверка сетевой связности и разрешения имён

Самая коварная причина — клиент не может преобразовать имя сервера в IP-адрес. В строке подключения к базе указано, например, Srvr="SRV-1C", а DNS в локальной сети не знает такого имени или возвращает устаревший адрес. Внешне это выглядит как «сервер недоступен», хотя сам сервер исправно работает.

Проверка проста: выполните nslookup имя_сервера на клиенте. Если команда возвращает ошибку или неверный IP, есть три пути решения. Правильный — настроить запись в DNS-сервере локальной сети. Быстрый обходной путь — добавить строку вида 192.168.1.10 srv-1c в файл C:\Windows\System32\drivers\etc\hosts на клиентском компьютере. Третий вариант — указать в строке подключения IP-адрес вместо имени, но это неудобно при смене адреса сервера.

Учтите и обратную ситуацию: сервер может не разрешать имя клиента или имя SQL-сервера. Если агент кластера работает, но база не открывается с ошибкой соединения с СУБД, проверьте nslookup для имени SQL-сервера уже с самого сервера 1С.

Службы: агент сервера 1С и SQL Server

Если сеть в порядке, а порт закрыт, первым делом проверьте состояние служб на сервере. Откройте оснастку «Службы» (services.msc) и найдите службу «Агент сервера 1С:Предприятия» соответствующей версии платформы. Она должна быть в состоянии «Выполняется», тип запуска — «Автоматически». Если служба остановлена — запустите её и понаблюдайте, не падает ли она снова.

Частая причина падения службы агента — изменение пароля учётной записи, под которой она работает (обычно USR1CV8), либо блокировка этой учётной записи. Проверьте на вкладке «Вход в систему» свойств службы, от чьего имени она запускается, и убедитесь, что учётная запись активна и пароль не истёк.

Если агент работает, но база не открывается, проверьте службы СУБД на сервере баз данных: для MS SQL это служба «SQL Server (MSSQLSERVER)» и «SQL Server Browser» (последняя нужна при использовании именованных экземпляров). Остановленный SQL Server даёт ошибку, которую пользователи тоже описывают как «1С не видит сервер».

Порядок действий при недоступном сервере
  1. 1
    Проверьте ping сервера по имени и по IP-адресу с клиентского компьютера
  2. 2
    Проверьте доступность порта 1540 командой Test-NetConnection
  3. 3
    На сервере убедитесь, что служба агента сервера 1С запущена и настроена на автозапуск
  4. 4
    Проверьте, что брандмауэр пропускает порты 1540, 1541 и диапазон 1560–1591
  5. 5
    Откройте консоль кластера и убедитесь, что кластер и рабочие процессы зарегистрированы
  6. 6
    Проверьте доступность SQL-сервера с сервера 1С и состояние базы данных

Брандмауэр и антивирус

Брандмауэр Windows на сервере по умолчанию блокирует входящие подключения, и после установки сервера 1С правила нужно создавать вручную. Минимальный набор: порт 1540 (агент), 1541 (менеджер кластера) и диапазон 1560–1591 (рабочие процессы). Если SQL Server расположен на той же машине или отдельно, добавьте порт 1433 для MS SQL (или 5432 для PostgreSQL).

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

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

Проблемы кластера и версий платформы

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

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

Также проверьте, не изменился ли порт агента при установке новой версии: каждая версия платформы по умолчанию использует свой набор портов (1540, 2540, 3540 и т.д.), и если кластер работает на нестандартном порту, клиенту об этом нужно сообщить явно в строке подключения, например Srvr="srv-1c:2540".

Типичные ошибки при диагностике
01
Проверять ping только по IP-адресу и пропустить проблему с DNS-именем сервера
02
Перезагружать сервер целиком вместо проверки конкретной службы — теряется время и диагностическая информация
03
Открывать в брандмауэре только порт 1540 и забывать про диапазон рабочих процессов 1560–1591 — подключение обрывается на этапе запуска сеанса
04
Чинить сервер, когда проблема только у одного клиента — например, из-за его антивируса или неверной строки подключения
05
Обновлять платформу на сервере без плана обновления клиентов — часть пользователей теряет доступ

Когда проблема на стороне SQL Server

Если клиент подключается к кластеру, но при открытии базы возникает ошибка соединения с СУБД, диагностику нужно переносить на уровень базы данных. С сервера 1С проверьте доступность SQL-сервера: Test-NetConnection sql-сервер -Port 1433. Затем убедитесь, что служба SQL Server запущена и база данных находится в состоянии ONLINE.

Частые причины на этом уровне: у учётной записи, под которой кластер обращается к СУБД, истёк пароль или отобраны права на базу; база переведена в режим RESTORING или SINGLE_USER после обслуживания; на SQL Server изменились настройки сетевых протоколов (отключён TCP/IP в конфигурации SQL Server). Все эти ситуации видны в журнале ошибок SQL Server и в технологическом журнале 1С.

Если SQL Server установлен как именованный экземпляр, убедитесь, что работает служба SQL Server Browser и открыт UDP-порт 1434 — без неё клиенты не находят именованный экземпляр по имени.

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

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

Ping по имени не проходит, по IP проходитНастройте DNS-запись или добавьте строку в hosts на клиенте
Ping проходит, порт 1540 недоступен у всехПроверьте службу агента сервера 1С и правила брандмауэра на сервере
Порт 1540 открыт, но сеанс не стартуетОткройте диапазон портов 1560–1591 и проверьте рабочие процессы в консоли кластера
Кластер доступен, ошибка при открытии конкретной базыПроверяйте SQL Server: службу, состояние базы и права учётной записи
Проблема только у одного пользователяПроверьте его сеть, антивирус, версию платформы и строку подключения

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

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