database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3656 게시물 읽기
No. 3656
MS-SQL 원격접속이 되지 않습니다.
작성자
김영필
작성일
2007-07-27 14:01
조회수
4,897

안녕하세요. 도움 부탁드리려 글 올립니다.
MS-SQL2000 서버이구요. OS는 XP입니다.
엔터프라이즈관리자를 이용해서 회사에 있는 DB 컴퓨터에 접속을 하려는데, 아이피로 세팅하면 DB를 불러오질 못합니다.
(또 회사내에서도 파이프로 접속하면 접속이 되는데, 아이피로는 접속이 안됩니다.)
일전에도 그런현상이 있어서, 서비스팩3을 깔아줬더니, 그때는 되다가, 또 다시 안되네요.
한가지 더 궁금한 것은 .NET으로 프로그램을 짜고 있는데, 그 프로그램 내에서는 회사 DB로의 접속이 되구요.. 
그 프로그램 내에서도 아이피주소를 가지고 접속하는데.. 아니러니컬하다고나 해야 할지여..
많은 도움 부탁드리겠습니다.

이 글에 대한 댓글이 총 1건 있습니다.

자답: 해결했습니다...

SQL Server 2000 설치 이후 SQL Server가 IP 만으로 연결이 안 됨.

기술 자료 ID : 602027
마지막 검토 : 2004년 3월 22일 월요일
수정 : 3.0
이 문서는 이전에 다음 ID로 출판되었음: KR602027

현상

클라이언트에서 SQL Server 7.0 연결 시 도메인 또는 서브넷이 다른 경우에도 IP만으로 SQL Server가 연결 가능 하였으나, SQL Server 2000 설치 이후 IP만으로 SQL Server가 연결 가능하지 않은 경우가 발생할 수 있습니다.

위로 가기

원인

SQL Server 2000은 하나의 서버에 여러 개의 인스턴스 설치가 가능하므로 각 인스턴스는 TCP/IP 포트 1433 (기본 수신 포트)이 아닌 다른 포트를 동적으로 할당 하여 사용하는 것이 가능합니다. 따라서 SQL Server 2000에 연결 할 클라이언트(MDAC 2.6 이상인 경우)는 이 동적으로 할당된 포트를 감지하기 위하여 서버명과 인스턴스 명을 사용하여 NetBIOS 이름 쿼리를 이용 해당 서버를 찾게 됩니다. 이 때 해당 서버가 NetBIOS 이름 쿼리 브로드캐스트에 응답할 수 없는 경우 연결이 되지 않습니다.

위로 가기

해결 과정

다음과 같은 방법에 의해 IP만으로 SQL Server를 연결 가능하도록 할 수 있습니다.

방법 1. : NetBIOS 이름 쿼리에 응답 가능하도록 설정하는 방법

A. WINS 또는 DNS를 설정하여 NetBIOS 이름 쿼리에 응답 가능하도록 합니다.

or

B. Lmhosts 파일에 정적 이름 (SQL Server명)과 IP 주소를 추가 매핑

방법 2. : SQL Server 클라이언트 네트워크 유틸리티의 별칭 (Alias)을 이용하는 방법 (MDAC 2.6 이상 기준)

A. SQL Server 측에서 [서버 네트워크 유틸리티]를 실행 -> [실행]창에서 "svrnetcn.exe" 실행
B. SQL Server 해당 인스턴스를 지정 후 TCP/IP의 속성 버튼을 클릭, 수신 기본 포트 지정
C. 클라이언트 측에서 [클라이언트 네트워크 유틸리티]를 실행 -> [실행]창에서 "cliconfg.exe" 실행
D. [클라이언트 네트워크 유틸리티]의 별칭 탭에서 TCP/IP를 사용하는 별칭 추가
E. 별칭 추가 시 서버 이름 및 별칭 이름에 IP를 할당 후, "동적으로 포트 확인" 옵션을 제거하고, 사용 할 포트 지정
F. 클라이언트에서 IP를 서버 이름으로 사용하여 연결

위로 가기

해결 방법

1. WINS 또는 DNS에서 서버명을 찾을 수 없는 경우에 SQL Server 7.0은 클라이언트에서 연결 시 IP만으로 라우터에 패킷을 전송하고, 라우터에서 자신의 서브넷에 IP를 브로드캐스트하여 응답을 캐쉬에 저장한 경우에 SQL Server가 연결 가능하였습니다.
그러나 SQL Server 2000은 IP 만으로 SQL Server 에 연결하는 경우 NetBIOS 이름 쿼리 브로드캐스트에 응답 가능한 같은 서브넷에서는 성공하지만 라우터를 거치는 다른 서브넷의 경우에는 NetBIOS 이름 쿼리 브로드캐스트에 응답할 수 없으므로 연결이 실패 됩니다.
2. Lmhosts 파일에 대한 개요입니다:
Lmhosts 파일은 NetBIOS 이름 쿼리 브로드캐스트에 응답할 수 없는 컴퓨터에서 원격 NetBIOS 이름 확인을 지원하는 정적 파일입니다. 이 파일에는 NetBIOS 이름 대 IP 주소 매핑이 들어 있습니다. 이 파일의 기능은 Hosts 파일의 기능과 비슷하며 Hosts 파일은 호스트 컴퓨터의 DNS 도메인 이름을 IP 주소에 매핑할 때 사용될 수 있다는 것이 차이점입니다.

Microsoft 기반 네트워크 상의 컴퓨터는 여러 가지 방식으로 NetBIOS 이름을 확인할 수 있습니다. 한 가지 방법이 실패하면 정해진 순서대로 그 다음 방법을 시도합니다. 브로드캐스트 기반 네트워크 상의 컴퓨터는 먼저 NetBIOS 이름 캐시를 확인합니다. 일반적으로 캐시에는 이름이 최근에 사용되었으면 이 이름만 들어 있지만 이름은 Lmhosts 파일에서 캐시로 미리 로드될 수 있습니다.

정적 이름 대 주소 매핑이 #pre 표기를 사용하여 Lmhosts 파일에 입력되면 해당 이름들은 NetBIOS 이름 캐시에 미리 로드된 것으로 간주되어 이름 쿼리를 확인할 때 NetBIOS 서브넷 브로드캐스트나 WINS 쿼리보다 먼저 사용됩니다.

로컬 캐시를 확인한 후 이름 쿼리가 로컬로 클라이언트 서브넷에 브로드캐스트하여 이름 확인을 시도하기 전에 WINS 서버가 구성되어 있고 연결될 수 있으면 이 WINS 서버를 먼저 접속합니다. 이 방법이 실패했을 때 (Lmhosts 파일을 참조하도록 설정되어 있으면) 해당 클라이언트는 나중에 이 파일을 다시 참조하여 이름 대 IP 주소 매핑을 검색하여 가져올 수 있습니다. 예를 들어, 클라이언트에서 라우터를 거치는 다른 서브넷 상의 다른 컴퓨터에서 사용하는 이름을 확인할 수 있습니다.
김영필님이 2007-07-30 11:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3660필드명을 지을때 궁금한점 있어 질문 올립니다.
박인규
2007-07-30
2000
3659리플리케이션 기능이 있나요? [1]
손영민
2007-07-27
2164
3657SQL Express 를 사용중이고요. DB를 수시로 Detatch 및 Attach합니다. 그러나...
청년재벌
2007-07-27
2819
3656MS-SQL 원격접속이 되지 않습니다. [1]
김영필
2007-07-27
4897
3655sql이 너무 느려요.. 혹시 메모리 부족인가요?
ecch
2007-07-27
2423
3652쿼리 질문 [1]
손님
2007-07-26
2294
3651쿼리 질문좀 드립니다. [1]
윤종령
2007-07-26
2798
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다