Невозможно подключиться к SQL Server 2008 Express с виртуальной машины - PullRequest
3 голосов
/ 01 сентября 2009

У меня есть следующая конфигурация:

  • Хост Windows Vista Home Premium SP2 с SQL Server 2008 Express SP1 и SQL Server Management Studio.
  • Машина Virtual PC 2007 с Windows Vista Ultimate, Visual Studio 2008 Express и Visual Studio 2010 Beta 1.

С пакетом обновления 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 хост-машины и не получаю ответа. Однако я могу получить доступ к Интернету с виртуальной машины.

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

Ответы [ 2 ]

2 голосов
/ 04 сентября 2009

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

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

Привет

0 голосов
/ 01 сентября 2009

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

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

...