Я попытался подключиться через Wi-Fi к SQL Server с помощью SQL Server Management Studio с другого компьютера, но это не удалось.
У меня есть компьютер с Windows 7 и SQL Server 2008 (скажем, серверный компьютер). Рядом с ним у меня только что установленный компьютер с Windows 7 и SQL Server Management Studio (скажем, клиентский компьютер).
Что я делал на сервере:
Allow remote connections to this server
в свойствах сервера в приложении SQL Server Management.(Браузер SQL Server на этом этапе остановлен, но я не думаю, что это необходимо. Не так ли?)
Затем я успешно протестировал эхо-запрос на порт 1433 со своего клиентского компьютера с помощью инструмента под названием tcping
(например: tcping 192.168.1.4 1433
). Но я все еще не могу подключиться со своего клиентского компьютера к SQL Server на моем сервере.
Хорошо, что-то новенькое в этой проблеме: до сих пор я успешно подключался к своему «серверному компьютеру» с помощью Management Studio. Я набрал имя компьютера в поле имени сервера в окне подключения Management Studio. Моя предыдущая (неудачная) попытка заключалась в том, чтобы ввести имя компьютера, за которым следует экземпляр SQL-сервера (например: COMPUTER_NAME\SQL2008
). Я не знаю, почему мне нужно ввести только имя компьютера.
Теперь моя новая задача - успешно подключить мое приложение VB6 к этой удаленной базе данных, расположенной на моем «сервере». У меня есть строка подключения для этого, но мне не удалось подключиться.
Вот моя строка подключения:
"Provider=SQLOLEDB.1;Password=mypassword;User ID=sa;Initial Catalog=TPB;Data Source=THIERRY-HP\SQL2008"
Есть идеи, что не так?
Во-первых, способ адресации конкретного экземпляра SQL-сервера: SERVERNAME \ INSTANCENAME
Итак, первый шаг - посмотреть, можете ли вы разрешить SERVERNAME (используйте ping или измените его на IP-адрес).
Второй шаг - проверить, существует ли конкретный экземпляр. Как правило, первый экземпляр сервера MSSQL использует имя instabnce по умолчанию (. Или MSSQLSERVER). В этом случае вы можете опустить имя экземпляра в строке подключения и оставить только имя сервера.
Чтобы проверить имя экземпляра, откройте диспетчер служб на сервере и найдите службу «SQL Server (xxx)». «Xxx» будет именем экземпляра.
Как только вы это сделаете и убедитесь, что используете правильный адрес SQL, вы должны проверить соединение. Убедитесь, что обе ваши машины находятся в одной подсети. Если это не так, убедитесь, что брандмауэр не настроен так, чтобы разрешать подключение только локальной подсети (обычно в «домашнем» сетевом профиле).
Затем, если обе машины находятся в одной сети WIFI, убедитесь, что ваша точка доступа не настроена для изоляции клиента. В этом случае вы не сможете общаться между двумя устройствами WIFI, подключенными к одной и той же точке доступа.
Наконец, убедитесь, что у вас есть работающий логин. Самый простой способ сделать это - создать явную учетную запись на сервере SQL, дать ему все необходимые права в вашей базе данных и на сервере и протестировать его локально, передав учетные данные в командной строке. Если работает, попробуйте с удаленного компьютера
Слушает ли TCP TCP на IP, доступном для WLAN? Вы можете настроить его в конфигурации контактной зоны SQL, http://msdn.microsoft.com/en-us/library/ms161956.aspx .
В строке подключения укажите только имя компьютера. Если экземпляр прослушивает порт 1433, имя экземпляра не требуется, так как это порт, к которому клиент будет пытаться подключиться автоматически. Кроме того, если служба браузера остановлена, вы никогда не сможете подключиться к экземпляру с именем экземпляра, так как драйвер не может подключиться к браузеру, чтобы получить номер порта экземпляра. Подключаясь к тому, что, по мнению драйвера, является экземпляром по умолчанию (экземпляр SQL на порту 1433), вы избегаете необходимости подключаться к службе браузера.
a) Убедитесь, что с рабочей станции вы можете пропинговать сервер по имени, которое вы используете. (Если нет, используйте IP addy, пока не решите проблему разрешения имен)
б) Проверьте ERRORLOG на SQL Server, чтобы узнать, какой IP-порт он прослушивает. (ищите "слушание")
c) Затем с клиентской станции используйте telnet:
telnet <server name> <port number>
И убедитесь, что телнет может подключиться. Если он не может подключиться, ищите брандмауэры, концентратор Wi-Fi и т. Д., Пока telnet не заработает. (У нас только что был модуль Wi-Fi коммерческого класса, который отделяет каждую рабочую станцию друг от друга!)
г) Теперь, когда сеть решена, элемент «сервер» в строке подключения будет читать:
<server name or IP>,<port>
Тада!