호스트 전용 virtualbox 인터페이스를 통해 SQL Server Express에 연결할 수 없습니다

호스트 전용 virtualbox 인터페이스를 통해 SQL Server Express에 연결할 수 없습니다

Windows 7 virtualbox 게스트에 sql server express 2014를 설정했지만 Ubuntu 호스트에서 jTDS JDBC 드라이버를 사용하여 연결할 수 없습니다. 오류 가 발생합니다 Could not retrieve database information. 어딘가에서 한 단계가 누락된 것 같지만 온라인에서 아직 시도하지 않은 항목을 찾을 수 없습니다.

  • 연결 URL은jdbc:jtds:sqlserver://192.168.56.1:1433/dbo;instance=SQLEXPRESS
  • 게스트에서 Windows 방화벽이 완전히 비활성화되었습니다.
  • 호스트에서 게스트 IP 주소를 ping할 수 있습니다.
  • 서버와 SQL Browser 서비스가 실행 중입니다.
  • netstat -a게스트에서 TCP 0.0.0.0:1433 및 UDP 0.0.0.0:1434가 수신 중인지 확인합니다.
  • 서버 로그에 따르면Listening on <All IPv4>:1433
  • 표면 영역 구성 도구에는 TCP/IP가 활성화되어 있으며 모든 IP에 대해 포트 1433에서 수신 대기하도록 설정되어 있습니다.
  • SSMS는 해당 서버 인스턴스에 대해 원격 액세스가 활성화되어 있는지 확인합니다.
  • 호스트 전용 IP 주소(192.168.56.1, 위와 동일)와 JDBC를 통해 사용하는 것과 동일한 SQL 인증 자격 증명을 사용하여 게스트의 SSMS에서 데이터베이스에 연결할 수 있습니다.
  • telnet 192.168.56.1 1433telnet 192.168.56.1:1434호스트에서는 둘 다 즉시 실패하지만 게스트 Connection refused의 동일한 명령은 그렇지 않습니다.

게스트 내부의 인터페이스 IP 주소와 의 출력에 연결할 수 있는 것 같기 때문에 방화벽 문제처럼 느껴지지만 netstatWindows 방화벽이 꺼진 상태에서는 다음에 무엇을 해야 할지, 심지어 어떤 진단 단계를 수행해야 할지 잘 모르겠습니다. 여기서 가져가려고.

답변1

나의 첫 번째 시도는 호스트 전용 어댑터 설정을 제거하는 것이었습니다. 나는 과거에 그것에 대해 나쁜 경험을 했습니다.

문제의 가상 머신의 복제본을 만들고 두 Windows 머신의 네트워크 유형을 모두 브리지로 변경한 다음(물리적 LAN에 연결할 수 있도록) 둘 다 시작하여 서로 통신할 수 있는지 확인하는 것이 좋습니다. 기타(한 곳에서 다른 곳으로 핑을 보내거나 네트워크 폴더를 공유하고 액세스해 볼 수도 있습니다).

이는 유사한 문제가 있을 때 일반적으로 수행하는 간단한 테스트입니다. 오류 찾기를 위해 방정식에서 호스트 운영 체제를 제거하기 때문입니다.

두 Windows 시스템이 통신할 수 있으면 그 중 하나를 종료하고 어댑터를 브리지 모드로 변경한 후 시스템에 할당된 새 IP에서 Ubuntu를 다시 시도하십시오.

참고: LAN에서 실행되는 라우터와 같은 어떤 종류의 DHCP 서비스도 없는 경우 Windows 시스템에 고정 IP 주소를 제공해야 합니다.

도움이 되길 바랍니다.

관련 정보