연결 문제 해결

Microsoft SQL Server JDBC 드라이버에서는 TCP/IP를 설치하고 실행해야 SQL Server 데이터베이스와 통신할 수 있습니다. SQL Server 구성 관리자를 사용하면 설치된 네트워크 라이브러리 프로토콜을 확인할 수 있습니다.

데이터베이스 연결 시도가 실패하는 데는 여러 가지 이유가 있습니다. 예를 들면 다음과 같습니다.

  • SQL Server에 TCP/IP를 사용하고 있지 않거나 지정한 서버 또는 포트 번호가 잘못되었습니다. SQL Server가 지정한 서버 및 포트에서 TCP/IP로 수신 대기 중인지 확인합니다. 이 경우 "로그인에 실패했습니다. 호스트에 대한 TCP/IP 연결에 실패했습니다."와 유사한 예외가 함께 보고될 수 있습니다. 이 예외는 다음 중 하나를 의미합니다.

    • SQL Server가 설치되어 있지만 TCP/IP가 SQL Server 2000용 SQL Server 네트워크 유틸리티 또는 SQL Server 2005 및 SQL Server 2008용 SQL Server 구성 관리자를 사용하여 SQL Server의 네트워크 프로토콜로 설치되어 있지 않습니다.

    • TCP/IP가 SQL Server 프로토콜로 설치되어 있지만 JDBC 연결 URL에 지정한 포트에서 수신 대기하고 있지 않습니다. 기본 포트는 1433이지만 제품 설치 시 임의의 포트에서 수신 대기하도록 SQL Server을(를) 구성할 수 있습니다. SQL Server이(가) 1433에서 수신 대기 중인지 확인합니다. 또는 포트를 변경한 경우 JDBC 연결 URL에 지정한 포트가 변경된 포트와 일치하는지 확인합니다. JDBC 연결 URL에 대한 자세한 내용은 연결 URL 작성을 참조하십시오.

    • JDBC 연결 URL에 지정한 컴퓨터 주소가 SQL Server이(가) 설치되어 실행되는 서버를 가리키지 않습니다.

    • 클라이언트와 SQL Server을(를) 실행하는 서버 간에 TCP/IP 네트워킹 작업을 수행할 수 없습니다. 텔넷을 사용하면 SQL Server에 대한 TCP/IP 연결을 확인할 수 있습니다. 예를 들어, 명령 프롬프트에서 192.168.0.0이 SQL Server을(를) 실행하는 컴퓨터의 주소이고 1433이 컴퓨터가 수신 대기하는 포트인 경우 telnet 192.168.0.0 1433을 입력합니다. "텔넷으로 연결할 수 없습니다."라는 메시지가 나타나면 TCP/IP가 SQL Server 연결을 위해 해당 포트에서 수신 대기하고 있지 않다는 뜻입니다. 그러면 SQL Server 2000용 SQL Server 네트워크 유틸리티 또는 SQL Server 2005 및 SQL Server 2008용 SQL Server 구성 관리자를 사용하여 SQL Server가 포트 1433에서 TCP/IP를 사용하도록 구성합니다.

    • 서버에서 사용하는 포트가 방화벽에서 열려 있지 않습니다. 서버에서 사용하는 포트이거나 명명된 서버 인스턴스와 관련된 포트(옵션)가 이에 해당합니다.

  • 지정한 데이터베이스 이름이 잘못되었습니다. 기존의 SQL Server 데이터베이스에 로그인되어 있는지 확인합니다.

  • 사용자 이름 또는 암호가 정확하지 않습니다. 값이 정확한지 확인합니다.

  • SQL Server 인증을 사용하려면 JDBC 드라이버에서 SQL Server을(를) SQL Server 인증과 함께 설치해야 합니다. 이 인증은 기본적으로 설치되지 않습니다. 따라서 SQL Server 인스턴스를 설치하거나 구성할 때 이 옵션을 반드시 포함합니다.

참고

관련 자료

JDBC 드라이버 관련 문제 진단
JDBC 드라이버로 SQL Server에 연결