Одна машина в сети не может подключиться к SQL 2005

У меня есть небольшая сеть Windows с 3 машинами. На одном из них установлен SQL 2005. На прошлой неделе у двух других машин не было проблем с подключением к экземпляру SQL.

Сегодня одна машина с Vista, если это имеет значение, вдруг не может подключиться. Я получаю общее сообщение о том, что «При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленные соединения».

Я почти уверен, что на сервере SQL 2005 все настроено правильно, потому что третий компьютер в сети по-прежнему подключается без проблем.

На компьютере с Vista не настроены брандмауэры, ничего не изменилось, за исключением того, что я создал подключение к VPN несколько дней назад. При подключении к VPN подключение к локальной сети закрывается, но я много раз проверял, что НЕ подключен к VPN при попытке доступа к SQL Server. Я упоминаю об этом только потому, что это единственное, что, как мне кажется, изменилось.

Я перезагрузил все компьютеры много раз. Без изменений.

Я подключаюсь через SQL Integrated Security. Логин работает нормально с третьей машины.

Еще одна странность на коробке Vista. Иногда - может быть, в 5% случаев - он подключается, но затем при попытке доступа к таблице (например, просто щелкнув правой кнопкой мыши и выбрав «открыть») он делает паузу, а затем выдает «неопределенную ошибку».

Любые идеи? Я в полном недоумении. Это работает около 18 месяцев без каких-либо ошибок, и я не могу придумать ничего, что изменилось, кроме упомянутого выше VPN-подключения. И просто повторюсь - я определенно НЕ подключен к VPN, когда получаю эту ошибку.


person BDW    schedule 17.08.2009    source источник


Ответы (2)


Проверьте протоколы, используемые для подключения к SQL Server; Мне интересно, пытается ли он общаться через именованные каналы, а не через TCP/IP (говоря из недавнего опыта — у меня была проблема с именованными каналами, которая исчезла, когда я отключил именованные каналы и включил TCP/IP).

Вы можете проверить это на сервере с помощью инструмента настройки SQL Server и посмотреть, какие протоколы включены (в разделе «Конфигурация сети» в дереве навигации) для экземпляра SQL Server.

person Chris J    schedule 17.08.2009

Во-первых, мы знаем, что здесь нет связи между клиентом и сервером. Итак, исходя из ошибки, это не разрешения или аутентификация (вы должны подключиться, прежде чем вам будет отказано в доступе).

Попробуйте следующее:

1) Пинг - до сервера можно добраться? Запустите эту команду в командной строке:

ping servername

Если это работает, то, по крайней мере, имя разрешается, и клиент может общаться. Если это не помогло, попробуйте то же самое с IP-адресом сервера.

2) Telnet. Если у вас нет нестандартного порта (явно измененный или именованный экземпляр SQL Server), запустите его в командной строке:

telnet servername 1433

Если при этом открывается пустой экран, то клиент может попасть в порт. Если это не удается, попробуйте ту же команду с IP. Если это все еще не удается, у вас нет пути к SQL Server с этой машины. Вам нужно либо проверить внешний брандмауэр, либо другие проблемы с сетевым подключением.

person Anon246    schedule 17.08.2009