Я пытаюсь подключиться к экземпляру SQL Server 2008 через Интернет через модем / маршрутизатор ADSL. Я уже настроил маршрутизатор для перенаправления портов TCP 1433 и UDP 1434 на IP-адрес сервера. Я также отключил брандмауэр Windows на сервере. Я могу подключиться к экземпляру локально с помощью проверки подлинности SQL Server, но я не могу подключиться через Интернет, потому что это не удается с сообщением об ошибке:
Ошибка: собственный клиент Microsoft SQL Server 10.0: при установке подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра и настроен ли SQL Server на разрешение удаленных подключений. Дополнительные сведения см. В электронной документации по SQL Server. Sqlcmd: Ошибка: собственный клиент Microsoft SQL Server 10.0: истекло время ожидания входа в систему.
Я действительно не понимаю, что не так. Любая помощь будет оценена.
Я, наверное, не единственный, кто это скажет, но открытие сервера в Интернете таким образом - это плохая идея. Подумайте о каком-то программном обеспечении VPN, оно не только будет намного безопаснее, но и вам будет намного проще настроить переадресацию портов. (Вам нужно будет направить только один порт через модем на сервер для VPN-соединения, и все остальное будет работать через это).
Проверять, выписываться http://www.openvpn.net для достойного бесплатного решения VPN.
Вероятно, это потому, что SQL Server не прослушивает TCP / IP.
Установка SQL Server по умолчанию будет принимать любые входящие соединения. Это включает в себя другие машины в той же локальной сети, а также из Интернета (что на самом деле означает трафик, исходящий от маршрутизатора в вашей локальной сети).
Вы используете Диспетчер конфигурации SQL Server чтобы включить другие протоколы, которые SQL Server будет прослушивать (например, TCP / IP):
После этого вам нужно будет снова включить (старый) порт по умолчанию. 1433
для использования:
я хотел бы использовать Microsoft SysInternals TCPView чтобы проверить, что SQL Server Ну наконец то прослушивание порта, который вы ожидаете:
Все это часть нового сломан по умолчанию стратегия.
Я бы рекомендовал вам открыть следующие порты;
TCP 1433 (SQL Server), TCP 1434 (SQL Admin), TCP 4022 (SQL Service Broker), TCP 135 (SQL Debugger / RPC), TCP 2383 (Analysis Services), TCP 2382 и UDP 1434 (SQL Browser) плюс, возможно, TCP 80 и TCP 443, если вы делаете что-нибудь «в сети».
Используйте сетевой сканер, например nMap для проверки того, что порты 1433 TCP и 1434 UDP (он нужен только при использовании именованных экземпляров) действительно открыты для Интернета. Если порт отмечен как закрытый или отфильтрованный, это, вероятно, связано с:
PS: то, что SmallClanger говорит об использовании VPN, - очень хороший совет.