Я установил 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.