Ошибка подключения к удаленному SQL Server 2008 R2

Я сначала попытаюсь объяснить проблему, которая у меня есть. У меня есть SQL Server 2008 R2 под управлением Windows 2003 R2 SP2. SQL Server настроен на прием удаленных подключений через порт 1433. На компьютере с Windows 7, на котором я настроил сервер WAMP, я использую PHP-скрипт для подключения к базе данных и получения некоторых данных. Это работает идеально.

Сейчас попробовал перенести в интернет. Переместил все приложение на хост-сервер с драйверами sqlsrv для Php, и я получаю эту ошибку.

Массив ( [0] => Массив ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10060 [код] => 10060 [2] => [Microsoft][SQL Server Native Client 10.0]TCP Provider : Попытка подключения не удалась, так как подключенная сторона не ответила должным образом через некоторое время, или установленное соединение не удалось, потому что подключенный хост не ответил [сообщение] => [Microsoft] [SQL Server Native Client 10.0] TCP Provider: A попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или установленное соединение не удалось, потому что подключенный хост не ответил. ) [1] => Массив ( [0] => HYT00 [SQLSTATE] => HYT00 [ 1] => 0 [код] => 0 [2] => [Microsoft][SQL Server Native Client 10.0]Время ожидания входа истекло [сообщение] => [Microsoft][SQL Server Native Client 10.0]Время ожидания входа истекло) [2 ] => Массив ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10060 [код] => 10060 [2] => [Microsoft][SQL Server Native Client 10.0]Сетевой или экземпляр -специфическая ошибка h как это произошло при установке соединения с SQL Server. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и настроен ли SQL Server для разрешения удаленных подключений. Дополнительные сведения см. в электронной документации по SQL Server. [message] => [Microsoft][SQL Server Native Client 10.0]При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и настроен ли SQL Server для разрешения удаленных подключений. Дополнительные сведения см. в электронной документации по SQL Server. ))

Я смущен, почему у меня будут другие результаты. Я также должен упомянуть, что Hosting Server также работает на Windows. Кто-нибудь знает, почему я не могу подключиться с определенного сервера? Любые ответы приветствуются. Спасибо!

Космин


Спасибо всем за ваши ответы. Я обсуждал с моим хост-провайдером, что они не разрешают соединение.

«С нашим планом общего хостинга, на котором построен ваш веб-сайт, вы не сможете удаленно подключиться к сторонней или удаленной базе данных с сайтом. Кроме того, максимальный размер баз данных MS SQL на наших планах общего хостинга составляет 200 МБ и изменить нельзя».

Я совсем новичок в SQL. Я думал о создании xml со всеми записями и его автоматическом обновлении с помощью ftp, но, поскольку пользователям должно быть разрешено видеть только свою часть базы данных после входа в систему, я не уверен, что это безопасно.

Кто-нибудь знает, как я могу отображать данные с моего SQL Server на веб-сайте?


person Cosmin B    schedule 26.07.2012    source источник
comment
Ваше PHP-приложение находится на том же сервере, что и сервер базы данных? Из вашего поста не ясно, так ли это... т.е. где ваше PHP-приложение? а база данных, к которой он подключается, где?   -  person Nick.McDermaid    schedule 10.02.2014


Ответы (2)


Первое, что нужно сделать, это установить хорошее соединение: создать файл udl с соответствующим соединением odbc. Самый простой способ сделать это — открыть блокнот и создать пустой файл, затем переименовать .txt в .udl и дважды щелкнуть. Файлы UDL часто понимают неправильно. Это просто текстовый файл с форматированной строкой, который предоставляет достаточно информации для драйверов базы данных, чтобы установить соединение и заставить службу базы данных ответить. Сначала проверьте не php-драйвер.

Установите, открыт ли порт 1433, а также порт 1434 utp и любые порты экземпляра. они чаще всего блокируются вашим брандмауэром. Можно проверить, ненадолго отключив брандмауэры

ХТН

person Ian P    schedule 26.07.2012

Это выделенный сервер? Хостинг-сервисы обычно ограничивают разрешенные соединения с виртуального хостинга только локальной средой. Узнайте у своего хост-провайдера, разрешают ли они удаленные подключения из приложений, которые они размещают.

Второе. Вы уверены, что порт 1433 вашего сервера виден из-за пределов вашей локальной сети? Тот факт, что он доступен для вашей машины, не означает, что он доступен из Интернета.

person Grzegorz W    schedule 26.07.2012
comment
Хорошо, я проверю у них. И я уверен, что порт 1433 виден. Я не в той же сети, что и сервер Sql, и я также проверил с помощью инструмента проверки открытых портов через Интернет. Спасибо за ответ. - person Cosmin B; 26.07.2012