Администрирование · 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. Успешное подключение означает, что сеть и служба в порядке, и искать нужно глубже — в настройках кластера или базы.
Test-NetConnection srv-1c -Port 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Проверьте ping сервера по имени и по IP-адресу с клиентского компьютера
- 2Проверьте доступность порта 1540 командой Test-NetConnection
- 3На сервере убедитесь, что служба агента сервера 1С запущена и настроена на автозапуск
- 4Проверьте, что брандмауэр пропускает порты 1540, 1541 и диапазон 1560–1591
- 5Откройте консоль кластера и убедитесь, что кластер и рабочие процессы зарегистрированы
- 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".
Когда проблема на стороне 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 — без неё клиенты не находят именованный экземпляр по имени.
Как выбрать действие
Проверка результата и профилактика
После устранения причины убедитесь, что проблема решена полностью, а не частично. Подключитесь к базе с проблемного клиента, зат