Хорошо, вот сделка:
Я подключаюсь к серверу Windows 2003 через VPN. На этом сервере есть удаленный механизм SQL Server 2005 Express.
Я могу подключиться к базе данных с помощью Visual Studio 2008.
Однако я не могу подключиться к этой же базе данных с помощью SQL Server 2005 Management Studio (Standard).
Я сотни раз проверял информацию о подключении, но все равно ничего.
Одна мысль: использует ли VS ans SSMS один и тот же поставщик sql?
Примечание. Я использую Windows 7 RC. У меня не было абсолютно никаких проблем с использованием той же конфигурации под Vista.
Я предполагаю, что вы не забыли указать имя экземпляра (server \ SQLEXPRESS)?
Попробуйте создать ODBC на том же сервере. Если вы получите ту же ошибку; создайте еще один ODBC, но используйте обычный драйвер «SQL Server», и в настройках «Конфигурация клиента» выберите «Именованные каналы».
Кроме того, SQLChickens советует убедиться, что браузер SQL запущен на сервере.
Также попробуйте использовать IP-адрес вместо NetBios-имени.
Если это механизм SQL Express, вам необходимо убедиться, что служба браузера SQL запущена, иначе клиент не сможет видеть именованные экземпляры на стороне сервера.
Я подтвердил, что в моем случае (с почти идентичным описанием проблем) с сервером все в порядке, и я мог добраться до него, отключив общедоступный профиль брандмауэра Windows 7. (Я также мог подключиться к другому серверу SQL Server 2005, а не через мою VPN, так что это явно была проблема с моей стороны, но также и какое-то взаимодействие с конфигурацией сервера.)
В правилах для входящих подключений было 2 пары правил для SQL Server Management Studio, разрешающие любые UDP и любые TCP-порты, для профилей «Частный» и «Домен», программа SqlWb.exe. Ни один из них не был включен.
Я изменил одну пару правил для обслуживания всех трех профилей (Public, Private, Domain), включил их и смог подключиться.
В этом посте на MSDN есть много других ссылок и контрольный список, которые помогут решить проблему:
Из сообщения:
Различные причины делятся на пять категорий:
Сводный контрольный список: