Доступ к экземпляру SQL Server в виртуальной машине

Во-первых, моя установка:

  • Mac OS X 10.8
  • Windows 7 работает в виртуальной машине (VMWare Fusion)
  • SQL Server 2008 R2 работает на виртуальной машине
  • Множество скриптов Python + моя настроенная установка Python на стороне Mac.

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

Итак, вопрос: как я могу получить доступ к экземпляру SQL Server, работающему на моей виртуальной машине, со стороны Mac? Для доступа к производственным данным я использую pymssql, основанный на FreeTDS.


person BenDundee    schedule 31.01.2013    source источник
comment
Теоретически вы получаете к нему доступ, как и к любому другому SQL Server: включите соответствующий(е) сетевой протокол(ы) на SQL Server и используйте подходящую строку подключения от вашего клиента. Какая именно проблема у вас?   -  person Pondlife    schedule 01.02.2013
comment
У меня еще не было возможности испачкать руки. Парень, с которым я работаю, упомянул, что в прошлом он заставлял его работать на виртуальной машине Windows 7 из родной установки Windows. Но он также упомянул, что были некоторые проблемы с переадресацией портов, которых он не помнил, а я не понимал.   -  person BenDundee    schedule 01.02.2013


Ответы (1)


Я работаю с этой конфигурацией следующим образом:

  • Создайте дополнительный сетевой адаптер для виртуальной машины и установите его как «Частный для моего Mac». Сетевой адаптер по умолчанию, созданный во время настройки виртуальной машины, будет использоваться Windows для доступа к сети, к которой подключен Mac (Интернет и т. д.), а этот новый созданный вами адаптер будет использоваться для связи между Mac и хостом виртуальной машины. .
  • IP-адрес Mac в виртуальной сети можно определить с помощью ifconfig. В моем случае он был назван vmnet1 с IP-адресом 192.168.23.1.
  • IP-адрес виртуальной машины Windows по умолчанию назначается динамически. Вы должны перейти к настройке сети в Windows и установить статический IP-адрес, который находится в той же сети, что и IP-адрес Mac. В моем случае сетевой адаптер Windows, созданный Fusion, был назван Ethernet1. Я установил это на 192.168.23.100/255.255.255.0. Не устанавливайте адрес шлюза, так как вам не нужны маршруты по этому пути.
  • Создайте запись в файле Mac /etc/hosts для IP-адреса Windows, например. "192.168.23.100 mywinsys.local"
  • Создайте запись в файле Windows /windows/system32/drivers/etc/hosts для IP-адреса Mac, например. "192.168.23.1 mymacsys.local"
  • Обязательно отключите брандмауэр Windows или иным образом откройте необходимые порты.
  • Убедитесь, что SQL Server настроен на прием IP-подключений https://technet.microsoft.com/en-us/library/hh231672(v=sql.110).aspx

Процессы, работающие на Mac, могут подключаться к процессам Windows с помощью mywinsys.local. Процессы, работающие в Windows, могут подключаться к процессу Mac с помощью mymacsys.local.

person user3416449    schedule 13.03.2014