SQL Server는 로컬 시스템에서 연결할 수 있지만 네트워크의 원격 시스템에서는 연결할 수 없습니다. Visual Studio에서는 오류 코드가 40이고 Management Studio에서 SQL Server에 연결하려고 하면 1326입니다.
- 방화벽은 문제가 아니다
- SQL Server에서 TCP/IP 연결이 활성화되었습니다.
- SQL Server에 연결할 수 있는 PC 터미널이 2개 있지만 세 번째 터미널은 연결할 수 없으며 동일한 연결 문자열을 사용하므로 연결 문자열이 맞습니다.
SQL서버 2000 입니다
어떤 도움이라도 주시면 감사하겠습니다.
답변1
ODBC(제어판, 관리자, odbc, 새 사용자 연결)에서 연결해 보세요. 연결을 생성하고 마법사가 끝날 때 테스트해 보세요. 작동한다면 문제는 OLEDB 연결 문자열 등과 관련이 있는 것입니다.
그렇지 않으면 다음과 같은 문제가 발생할 수 있습니다.
- DNS 문제(ping할 때 올바른 IP 주소가 나오는지 확인)
- 서버 권한 문제(드라이브를 SQL Server에 매핑할 수 있는지 확인하고 연결을 다시 시도해 보세요)
- SQL 권한 문제(SQL 보안 패널을 확인하고 사용자에게 기본 데이터베이스에 대한 db_reader 권한(최소)이 있는지 확인)
- 잘못된 SQL 별칭(ODBC 마법사의 연결 정보 아래에 서버 이름이 한 번만 나열되어 있는지 확인하십시오. 서버 이름이 여러 번 나열되어 있는 경우 SQL 클라이언트 구성 도구를 설치하고 추가 SQL Server 별칭을 모두 제거할 수 있습니다. [서버 이름]을(를) 다른 시스템으로 리디렉션하거나 기본적으로 잘못된 프로토콜로 리디렉션합니다.
답변2
세 번째 터미널에서 서버에 ping을 시도하여 두 터미널 사이에 연결이 있는지 확인하세요.
답변3
오류 40에는 몇 가지 이유가 있습니다. 보세요.자세한 내용은 여기를 참조하세요.
답변4
오류 40과 1326은 모두 TCP 오류가 아닌 명명된 파이프 오류를 나타냅니다. 서버에 TCP가 활성화되어 있다고 언급했지만 명명된 파이프에 대해서는 아무 말도 하지 않았으므로 방정식에서 명명된 파이프를 제외하는 것이 좋습니다. 명명된 파이프를 명시적으로 비활성화하지 않으면 클라이언트는 항상 이 프로토콜을 먼저 시도하고 명명된 파이프에는 파일 공유 계층에서 SMB 연결 및 도메인 인증이 필요하므로 다양한 오류가 발생합니다.~ 전에심지어 SQL Server에도 도달합니다. 두 가지 방법이 있습니다.
- 클라이언트에서 명명된 파이프를 완전히 비활성화합니다. 보다클라이언트 네트워크 프로토콜 구성.
- 연결 문자열에 tcp를 강제 적용하려면
tcp:servername
연결 문자열의 서버 이름 부분에 대한 구문을 사용하세요.연결 문자열에서 서버 이름 매개 변수를 사용하여 클라이언트 네트워크 라이브러리를 지정하는 방법.