Назад | Перейти на главную страницу

Поставщик MS SQL Server: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 5)

У меня есть сервер, на котором работает база данных MS SQL Server 2016. У меня есть два других сервера: сервер A и сервер B. Я могу подключиться к базе данных с помощью SSMS на сервере A, но я не могу подключиться к базе данных, используя то же имя пользователя / пароль / имя сервера в SSMS с сервера B. Вот некоторые факты о сервере A и сервере B:

  1. Сервер A и сервер B находятся в одной сети (IP-адрес сервера A: 10.0.0.52; IP-адрес сервера B: 10.0.0.73)
  2. сервер базы данных находится в совершенно другой сети.
  3. На сервере A установлен экземпляр MS SQL Server 2012; На сервере B не установлен MS SQL Server.
  4. Несмотря на то, что я могу подключиться к базе данных с сервера A с помощью SSMS, я не могу пропинговать IP-адрес сервера базы данных ни с сервера A, ни с сервера B.
  5. На сервере A или сервере B нет брандмауэров.
  6. И сервер A, и сервер B работают под управлением MS Server 2012 R2.
  7. Я попытался использовать IP-адрес с сервера базы данных, а также фактическое имя компьютера сервера базы данных при попытке подключения с сервера A и сервера B. Оба результата одинаковы: я могу подключиться к базе данных с помощью SSMS на сервере A но я не могу подключиться к базе данных с сервера B, используя ту же настройку, что и на сервере A.

Вот снимок экрана с ошибкой, которую я получаю при попытке подключиться к базе данных с помощью SSMS на сервере B (моя репутация слишком низкая, чтобы вставить снимок экрана напрямую, перейдите по ссылке)

скриншот ошибки

Что-то отличается между сервером A и сервером B. Я не знаю, настроено ли что-то по-разному между сервером A и сервером B, или есть ли конфигурация на сервере базы данных, которая разрешает соединения с сервера A, а не с сервера B. К сожалению У меня нет доступа к удаленному серверу базы данных, поэтому, надеюсь, кто-нибудь сможет указать, что настроено на сервере A, что позволяет получить доступ к серверу базы данных, который необходимо настроить на сервере B, чтобы разрешить соединения с сервера B. Если бы кто-нибудь мог указать мне, что я должен проверить, я был бы очень признателен. Заранее спасибо.

Немногое проверить ...

Это SQL Server Express? Если да: https://stackoverflow.com/questions/37704699/enpting-remote-access-in-ms-sql-server-2012-express

Проверьте, получаете ли вы тот же результат, пытаясь telnet от srv A и srv B к порту 1433 вашего сервера sql (командная строка -> "telnet 10.0.0.52 1433")

Убедитесь, что на обоих серверах ваша сеть помечена как частная или доменная. общедоступной может потребоваться дополнительная настройка брандмауэра http://woshub.com/wp-content/uploads/2016/10/network4-public-network.jpg

Вы писали, что брандмауэров нет, но они действительно есть - убедитесь, что у вас отключен брандмауэр Windows (в диспетчере серверов)