Что нужно клиенту для удаленного подключения к SQL Server? - PullRequest
1 голос
/ 16 февраля 2012

Я установил Microsoft SQL Server 2008 R2 Express на моем домашнем компьютере. Мой домашний компьютер имеет Windows 7 и находится за маршрутизатором. Я настроил это, я думаю, хорошо, потому что я могу подключиться к нему с работы через студию управления. Значит - я открыл все необходимые порты, настроил SQL для приема соединений по TCP. У меня также на маршрутизаторе настроен DynDNS, и я подключаюсь через свое DNS-имя, и это работает.

Я также использую Microsoft PortQueryUI [http://www.microsoft.com/download/en/details.aspx?id=24009], чтобы проверить, является ли сервер видимым и с моего рабочего компьютера, и он виден. Мой вывод PortQueryUI на работе в порядке (прилагается bloew), но люди из других сетей не могут подключиться к моему серверу. У них в тесте на порт 1434 UDP (большой жирный шрифт) код ошибки 0x00000002, где у меня это правильно - 0x00000000.

В чем причина, нужно ли что-то делать на их компьютерах? Может быть, их сеть что-то блокирует?

Мой вывод PortQueryUI с работы:

=============================================

Запуск portqry.exe -n myhome.dyndns.net -e 1434 -p UDP ...

Запрос целевой системы называется:

myhome.dyndns.net

Попытка разрешить имя в IP-адрес ...

Имя разрешено до 83.xxx.xxx.xxx

Запросы ...

UDP-порт 1434 (служба ms-sql-m): СЛУШАТЬ или ФИЛЬТРИРОВАТЬ

Отправка запроса SQL Server на UDP-порт 1434 ...

Ответ сервера:

ServerName РОБЕРТ-КОМПЬЮТЕР InstanceName SQL2008R2 IsClustered Нет Версия 10.50.1600.1 ТКР 1433 np \ ROBERT-KOMPUTER \ pipe \ MSSQL $ SQL2008R2 \ sql \ query

==== Конец ответа на запрос SQL Server ====

UDP-порт 1434 СЛУШАЕТ

portqry.exe -n myhome.dyndns.net -e 1434 -p UDP завершает работу с кодом возврата 0x00000000.

Запуск portqry.exe -n myhome.dyndns.net -e 1433 -p TCP ...

Запрос целевой системы называется:

myhome.dyndns.net

Попытка разрешить имя в IP-адрес ...

Имя разрешено до 83.xxx.xxx.xxx

Запросы ...

TCP-порт 1433 (служба ms-sql-s): СЛУШАТЬ portqry.exe -n myhome.dyndns.net -e 1433 -p TCP завершает работу с кодом возврата 0x00000000.

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Убедитесь, что на вашем брандмауэре, где находится SQL, открыт порт 1433, вам, вероятно, следует также установить для него некоторый диапазон / область IP-адресов.

Вам необходимо установить базу данных на Accept Remote Connections в свойствах БД. Вам необходимо установить имя пользователя и пароль и предоставить ему доступ к базе данных, чтобы ваше удаленное соединение распознало его.

Вот пример разрешения подключения:

http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

Вот пример подключения:

http://www.youtube.com/watch?v=hT9p_FPt720

0 голосов
/ 20 октября 2015

У меня была такая же проблема, но я уже настроил открытые порты на 1433 на брандмауэре.Для меня решение было простым в SQL 2012:

  1. Перейти к «Диспетчер соединений сервера SQL»
  2. Выпадающая конфигурация сети сервера SQL
  3. Протоколы для MSSQLSERVER> Правый щелчокTCIP / IP
  4. для каждого «TCP-порта», введенного 1433 или любого другого порта, который вы хотите
  5. done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...