Как подключиться к SQL Server на виртуальной машине Win7 с хоста Mac?

Я восстановил резервную копию MSSQL в SQL Server Express на виртуальной машине Windows 7 под Virtualbox. Я пытаюсь подключиться к этому экземпляру SQL Server с хоста (Mac OS), используя пользователя внутри импортированной базы данных, у которого есть учетные данные для подключения. Виртуальная машина настроена на использование адаптера только для хоста. SQL Server Express работает внутри виртуальной машины на WIN7VM/SQLEXPRESS, порт 1433.

Я могу без проблем подключиться к Apache на виртуальной машине через порт 8080 с хоста Mac. Я также могу подключиться к SQL-серверу через порт 1433 с хоста Mac, используя только IP-адрес хоста (192.168.56.101).

Чего я не могу сделать, так это подключиться к SQL-серверу из Navicat в MacOS или удаленно с помощью PHP. Вот что я пробовал:

  • Отключенный брандмауэр Windows
  • Настроенный параметр порта SQL-сервера для использования 1433
  • Включена аутентификация SQL-сервера
  • Включен TCP/IP в SQL Server
  • Включены удаленные подключения к SQL серверу

Я пытаюсь подключиться к этой информации:

  • Хост/IP-адрес: 192.168.56.101 ИЛИ 192.168.56.101\SQLEXPRESS (пробовали оба)
  • Порт: 1433
  • База данных: Моя база данных
  • Тип аутентификации: Базовый
  • Имя пользователя: имя пользователя
  • Пароль: пароль

Чего мне здесь не хватает, чтобы иметь возможность удаленно подключаться без проблем? Заранее спасибо!


person Vincent    schedule 01.10.2014    source источник
comment
Я считаю, что вам нужно использовать мостовой адаптер, а не адаптер только для хоста. Адаптер только для хоста не использует физическую сетевую карту, так что, вероятно, проблема здесь.   -  person Donal    schedule 02.10.2014
comment
@Donal: есть еще идеи? Я добавил вознаграждение к этому вопросу, поэтому я был бы рад дать его вам, если вы поможете мне решить его. Спасибо!   -  person Vincent    schedule 07.10.2014


Ответы (2)


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

person Donal    schedule 01.10.2014
comment
У меня адаптер 1 настроен на NAT, а адаптер 2 настроен только на хост, vboxnet0. Когда я выбираю мостовой адаптер с en0: Ethernet для адаптера 2, а затем запускаю ipconfig внутри виртуальной машины, я не могу подключиться с хоста Mac ни к одному из IP-адресов, которые он возвращает. - person Vincent; 02.10.2014
comment
Используете ли вы AirPort на своем хосте? - person Donal; 02.10.2014
comment
Я подключен через Ethernet на хосте, поэтому я установил мостовой адаптер на Ethernet. - person Vincent; 02.10.2014
comment
Настройка моего адаптера на мост сработала для меня. Я смог увидеть сервер в той же сети. Теперь, чтобы просто установить правильные драйверы ODBC... - person zvineyard; 12.11.2016

Оказалось, что это не проблема Virtualbox, а проблема аутентификации SQL Server.

Пользователь, к которому я пытался подключиться, имел доступ к базе данных, но не имел соответствующего имени входа в SQL Server.

MSDN — управление логинами, пользователями и схемами, инструкции Темы

person Vincent    schedule 07.10.2014
comment
Наконец, он работал с адаптером только для хоста или мостовым адаптером? Я считаю, что адаптер Host-Only также должен работать, если нет необходимости подключаться к Интернету из гостевой системы Windows. - person snowmonkey; 28.04.2015