dbnetlib connectionopen (connect()). sql server does not exist or access denied

당신은 Windows XP 서비스 팩 2를 실행하는 컴퓨터에서 명명 된 파이프 서버 네트워크 라이브러리를 사용하도록 구성된 SQL Server의 인스턴스에 연결하지 못할 수 있습니다

기술 자료 ID : 839269 – 이 문서가 적용되는 제품은.

증상

당신은 SQL Server의 인스턴스에 연결하지 못할 수 있습니다, 당신은 다음과 같은 내용의 오류 메시지 중 하나가 나타날 수 있습니다. 오류 메시지 1

[명명 된 파이프] SQL Server가 없거나 거부되었습니다. 액세스하지 않습니다 
[명명 된 파이프] ConnectionOpen (Connect (연결)를 ()).

오류 메시지 2

서버에 연결할 수 없습니다 < SQL 서버 인스턴스 이름 > 서버 : 메시지 17, 수준 16, 상태 1 [마이크로 소프트] [ODBC SQL Server 드라이버] SQL Server가 없거나 액세스가 거부하지 않습니다 [파이프 이름].

오류 메시지 3

<에 연결할 수 없습니다 SQL 서버 인스턴스 이름 >

다음 중 하나를 수행 할 때이 문제가 발생합니다 :

  • 당신은 Microsoft Windows XP 서비스 팩 2를 실행하는 컴퓨터에 설치되어있는 SQL Server의 인스턴스에 연결하려고합니다.
  • 당신은 명명 된 파이프 서버 네트워크 라이브러리에서 수신 대기하도록 구성된 SQL Server의 인스턴스에 연결하려고합니다.

원인

기본적으로 Windows 방화벽은 Microsoft Windows XP 서비스 팩 2를 실행하는 컴퓨터에서 사용할 수 있습니다. Windows 방화벽은 파일 및 파일에 연결에서 인터넷 컴퓨터를 방지하고 컴퓨터에 주를 인쇄하는 프린터 공유에 사용되는 445 같은 포트를 닫습니다. SQL 서버가 NetBIOS 세션을 통해 명명 된 파이프를 사용하여 들어오는 클라이언트 연결을 수신하도록 구성 될 때, SQL 서버는 파일 및 프린터 공유와 같은 TCP 포트 445를 통해 통신합니다. 따라서, SQL 서버 “현상”절에 나와있는 오류 메시지가 나타납니다에 연결하려는 SQL 서버 클라이언트.

해결 방법

이 문제를 해결하려면, 당신은 명시 적으로 TCP 포트 445를 사용하도록 설정해야합니다. 이 작업을 수행하려면 다음 방법 중 하나를 사용하십시오.

  • 네트워크 연결 설정을 변경하여 TCP 포트 445을 사용하도록 설정합니다 . 이 작업을 수행하려면 다음 단계를 따르십시오
    1. 을 클릭 시작 을 클릭 한 다음 실행을 .
    2. 에서 실행 대화 상자에 Firewall.cpl 다음 확인을 누릅니다.
    3. 에서 Windows 방화벽 대화 상자에서 클릭 고급 탭을.
    4. 아래 네트워크 연결 설정 , 네트워크 연결을 클릭 한 다음 설정을 .
    5. 에서 고급 설정 대화 상자를 클릭 추가 에 서비스 탭을.
    6. 에서 서비스 설정 대화 상자 아래에 지정된 값을 설정 한 다음 OK .
      재산 가치
      서비스 설명 : 명명 된 파이프에서 SQL 서버.
      이름 또는 네트워크에이 서비스를 호스팅하는 컴퓨터의 IP 주소 (예 : 192.168.0.12 용) : 컴퓨터의 현재 IP 주소를 입력합니다.
      이 서비스에 대한 외부 포트 번호 445
      이 서비스에 대한 내부 포트 번호 445

      참고 TCP 옵션이 선택되어 있는지 확인 서비스 설정 대화 상자.

  • 파일 및 프린터 공유 기능을 사용하여 TCP 포트 445을 사용하도록 설정합니다 . 이 작업을 수행하려면 다음 단계를 따르십시오
    1. 을 클릭 시작 을 클릭 한 다음 실행을 .
    2. 에서 실행 대화 상자에 Firewall.cpl을 다음 확인을 누릅니다.
    3. 에서 Windows 방화벽 대화 상자에서 클릭 예외 탭을.
    4. 아래 프로그램 및 서비스 , 선택한 파일 및 프린터 공유 확인란을 누른 다음 편집을 .
    5. 에서 편집 서비스 대화 상자를 선택합니다 TCP 445 확인란을 누른 다음 확인을 두 번.

해결 방법

이 문제를 해결하려면 TCP / IP 소켓 네트워크 라이브러리를 사용할 수 있습니다. 당신은 TCP / IP 소켓 라이브러리를 사용하거나 유일한 기본 사용하도록 설정 프로토콜로 TCP / IP를 사용할 수 있습니다 SQL Server를 실행하는 컴퓨터에 대한 별칭을 만들 수 있습니다. TCP / IP 소켓 라이브러리를 사용하는 SQL Server 별칭을 추가하려면 다음 단계를 따르십시오

  1. 클릭하여 시작을 클릭합니다 실행 입력 cliconfg , 누른 다음 OK .
  2. 에서 SQL Server 클라이언트 네트워크 유틸리티 대화 상자에서 클릭 별칭 탭을 누른 다음 추가 .
  3. 에서 추가 네트워크 라이브러리 구성 대화 상자에서 네트워크 라이브러리 를 클릭 TCP / IP를 .
  4. 에서 서버 별칭 상자를 누른 다음 컴퓨터 또는 SQL Server를 실행하는 컴퓨터의 이름의 IP 주소를 입력하고 OK .

STATUS

이 동작은 의도적으로 설계되었습니다.

참조

인터넷 방화벽에 대한 자세한 내용은 다음 문서를 참조은 Microsoft 기술 자료의 문서를 참조합니다 :

298804 인터넷 방화벽은 검색 및 파일 공유를 방지 할 수 있습니다
308127 어떻게 수동으로 Windows XP에서 인터넷 연결 방화벽에서 포트를 여는 방법

오류 메시지의 다른 일반적인 원인에 대한 자세한 내용은 Microsoft 기술 자료 문서를 보려면 다음 문서 번호를 클릭하십시오

328,306 의 잠재적 인 원인 오류 메시지가 “SQL Server는 거부 존재하거나 액세스하지 않는다”

SQL Server 2000 및 Windows XP 서비스 팩 2를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서를 보려면 다음 문서 번호를 클릭하십시오

841249 어떻게 SQL Server에서 사용하기 위해 Windows XP 서비스 팩 2 (S)를 구성하는 방법