Próbuję skonfigurować moją maszynę wirtualną za pomocą SQL Server 2008 R2 Express, dzięki czemu będę mógł zdalnie uzyskać dostęp do SQL za pomocą SQL Server Management Studio z komputera hosta.
Konfiguracja maszyny wirtualnej
- z systemem Windows Sieć Server 2008 R2
- Istnieją dwie karty sieciowe:
- Bridged więc łączy się z Internetem
- Tylko host, dzięki czemu mogę komunikować się szybciej przez sieć wirtualną
- Usługi SQL Engine i przeglądarki są uruchomione
- Włączyłem protokół TCP / IP dla SQL Express, ale nie skonfigurowałem żadnych adresów IP (osobna karta)
- Dodałem przychodzące reguły zapory dla:
- 1433 port TCP
- 1434 port UDP
- Jeśli zaglądam do połączeń sieciowych, widzę, że obie moje karty sieciowe są podłączone do sieci. Mogę ustawić zmostkowaną sieć na Miejsce pracy ale nie mogę zmienić typu sieci w sieci hosta. Więc jest ustawiony na Publiczny domyślnie. Nie jestem pewien, czy ma to z tym coś wspólnego, ale tak jest.
Konfiguracja HOST
Jedyną rzeczą, którą zrobiłem na moim hoście, jest to, że umieściłem nazwę mojego VM IP. I zrobiłem to za pomocą adresu IP hosta. Dodałem wpis do mojego pliku HOSTS.
Problem
Następnie otwieram SSMS na moim komputerze hosta i jeśli wybiorę Przeglądaj więcej w Połączyć się z serwerem okno dialogowe Widzę instancję SQL mojej maszyny wirtualnej. Ale kiedy próbuję się z nim połączyć, otrzymuję to, gdy próbuję się połączyć na trzy sposoby:
nazwa komputera (mój plik HOSTS dokona ponownego mapowania IP)
zmostkowany adres IP sieci
adres IP tylko dla hosta
Pytanie 1: Co jeszcze mogę skonfigurować, aby móc uzyskać dostęp do wystąpienia SQL maszyny wirtualnej? Jeśli to możliwe, chciałbym go także skonfigurować, tak, żebym mógł uzyskać do niego dostęp tylko przez sieć Hots-only, a nie przez mostkowany. Ale to byłby dodatkowy bonus, jeśli mógłbym to skonfigurować w ten sposób.
Pytanie 2: Czy do uruchomienia potrzebuję przeglądarki SQL, o ile wiem, tylko dba o to, aby instancja SQL była wykrywalna. Jeśli wiem, wystąpienie SQL to tam i wiem, że używa portu 1433, czy nie mogę po prostu połączyć się za pomocą tego Nazwa serwera :
DATAVM\SQLEXPRESS,1433
Edytować
To jest wynik netstat:
Ja też uciekłem portqry na hoście, aby sprawdzić moją instancję SQL na mojej maszynie wirtualnej. Jeśli spróbuję zmostkować adres IP, otrzymam odpowiedź przeglądarki SQL:
Starting portqry.exe -n 192.168.1.143 -e 1434 -p UDP ...
Querying target system called:
192.168.1.143
Attempting to resolve IP address to a name...
IP address resolved to Datavm
querying...
UDP port 1434 (ms-sql-m service): LISTENING or FILTERED
Sending SQL Server query to UDP port 1434...
Server's response:
ServerName DATAVM
InstanceName SQLEXPRESS
IsClustered No
Version 10.50.1600.1
tcp 49159
Jak widzę w tym wyniku, moja instancja SQL faktycznie nasłuchuje na porcie TCP 49159.
Poszedłem więc do konfiguracji SQL i zmieniłem ten port na 1433.
Pytanie 3: Czy to normalne, że domyślnie port nie został ustawiony na 1433? Czy powinienem zmienić go z powrotem na 49159 i zmienić regułę zapory przychodzącej, aby przejść przez ten port lub shuld?
Zmieniając port na 1433 Mogę połączyć się z VM z mojego hosta SSMS . Ale mogę to zrobić tylko przy użyciu zmostkowanego adresu IP.
Jak rozumiem ustawienia TCP / IP w protokole SQL Adresy IP powinien wyświetlić wszystkie adresy IP komputera. Widzę 5 z nich:
- mostkowany adres NIC V6
- zmostkowany adres karty sieciowej V4
- localhost V6 (:: 1)
- localhost V4 (127.0.0.1)
- trochę ? Adres V6, który nie jest powiązany z siecią zmostkowaną ani z hostem (fe80 :: 100: 7f: fffe% 12)
Zakładam, że jest to również powód, dla którego nie mogę się połączyć za pomocą sieci tylko hosta ... Ale jak skonfigurować moją maszynę wirtualną, aby móc (i ewentualnie wyłączyć mostkowanie)?
netstat -a
możesz także skonfigurować adresy IP (krok czwarty), aby sprawdzić, czy coś poprawia.