Невозможно подключиться к SQL Server 2008 Express с виртуального компьютера

У меня такая конфигурация:

  • Хост Windows Vista Home Premium с пакетом обновления 2 (SP2) с SQL Server 2008 Express с пакетом обновления 1 (SP1) и SQL Server Management Studio.
  • Машина Virtual PC 2007 с Windows Vista Ultimate, Visual Studio 2008 Express и Visual Studio 2010 Beta 1.

С SP1 на хост-машине и до установки Vista SP2 и SQL Server SP1 я мог подключиться к экземпляру SQLEXPRESS как из Visual Studio 2008, так и из 2010 с виртуальной машины. Сейчас не могу.

Экземпляр настроен для разрешения удаленных подключений. Обе машины, физические и виртуальные, могут видеть друг друга в сети и отвечать на пинг. Служба обозревателя SQL Server запущена, и все протоколы включены в диспетчере конфигурации SQL Server.

Я попытался переустановить SQL Server, но все равно не могу подключиться. В раскрывающемся списке имени сервера в VS теперь я могу видеть только MACHINENAME, где раньше видел MACHINENAME \ SQLEXPRESS, и когда я пытаюсь подключиться, я получаю сообщение:

при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении указанного сервера / экземпляра)

Я не знаю, что мне не хватает. Кто-нибудь сталкивался с этой проблемой?

изменить:

Определенно, я думаю, что это скорее проблема, связанная с сетью. Проверил фаервол на хосте ТАК. Служба обозревателя SQL Server не получает никакого соединения. И разрешенные, и запрещенные в соединениях равны 0, как сообщает брандмауэр. Служба правильно прослушивает UDP-порт 1434.

Я также пытаюсь получить доступ к веб-приложению в IIS хост-машины и не получаю ответа. Однако я могу получить доступ к Интернету с виртуальной машины.

Большое спасибо


person fergroops    schedule 01.09.2009    source источник
comment
Вы проверяли, что какой-либо брандмауэр на гостевой машине или хосте не блокирует соединение? Я бы физически отключился от Интернета, а затем ненадолго отключил брандмауэры, чтобы убедиться.   -  person Eric J.    schedule 01.09.2009
comment
Да, Энрик, я забыл упомянуть. Я попытался отключить оба, но без разницы. Теперь они снова включены. Когда VS пытается подключиться к БД, доступна только служба браузера SQL Server, и для нее включены разрешения на вход / выход. Я также пробовал Wireshark, чтобы увидеть пакеты, но я немного потерялся там ...   -  person fergroops    schedule 01.09.2009


Ответы (2)


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

Спасибо всем за предложения.

С Уважением

person fergroops    schedule 04.09.2009

При переустановке вы сначала удалили SQL, а затем переустановили? Возможно, в этом процессе вы удалили именованный экземпляр (MACHINE_NAME \ SQLEXPRESS) (отображается как SQL Server (SQLEXPRESS) в службе Windows) и установили экземпляр по умолчанию (MACHINE_NAME) (отображается как MSSQLSERVER в службах Windows).

Также я заметил, что если у кого-то установлен экземпляр SQL Express по умолчанию и на нем запущен установщик пакета обновления SQL, то установщик пакета обновления установит именованный экземпляр, если он не будет осторожен, вместо обновления экземпляра по умолчанию.

person Ganesh R.    schedule 01.09.2009
comment
Фактически, Vista SP2 оставила мою машину не загружаемой, и мне пришлось восстанавливать всю систему из раздела восстановления, возвращаясь к чистой Vista SP1 (без SQL Server). Затем я установил Vista SP2, затем SQL Server 2008 Express, затем Management Studio и затем SQL Server 2008 SP1 из Центра обновления Windows. В окне «Службы» я вижу только SQL Server (SQLEXPRESS). При локальном подключении из SQL Server Management Studio я вижу правильный экземпляр MACHINE_NAME \ SQLEXPRESS, но только MACHINE_NAME на VPC. - person fergroops; 01.09.2009