Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: fergroopsОтветов: 2

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

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

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

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

sql-server-2008visual-studio-2008virtual-pc

Ответы

Ответ 1 · рейтинг 2 · fergroops

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

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

С Уважением

Ответ 2 · Ganesh R.

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы