IP 주소를 사용하여 SQL Server 데이터베이스에 연결했을 때 속도가 너무 느리다

현상

Microsoft Data Access Components(MDAC) 버전 2.6을 설치할 때 서버 이름이 아니라 IP 주소를 사용하여 SQL Server 7.0 또는 SQL Server 2000 데이터베이스에 연결하려고 할 때마다 예상한 것보다 시간이 더 걸리는 경우가 있습니다. 보고된 바 있는 특정한 경우에는 "제한 시간이 만료되었습니다."라는 오류가 클라이언트 응용 프로그램에 보고되고 연결 시도가 실패하기도 합니다.
TCP/IP 주소로 매핑되는 서버 별칭을 사용할 때는 이 문제가 계속 발생할 수 있습니다.
MDAC 2.5 또는 2.1을 설치한 경우에는 이 문제가 발생하지 않습니다.

원인

SQL Server 네트워크 라이브러리인 Dbnetlib.dll의 MDAC 2.6 버전은 역방향 조회를 사용하여 IP 주소의 호스트 이름을 확인하려고 합니다. 클라이언트 컴퓨터에 속도가 느린 도메인 이름 서비스(DNS) 서버만 있거나 DNS 서버가 아예 없고 컴퓨터의 로컬 HOSTS 또는 LMHOSTS 파일에 해당 SQL Server의 IP 주소에 대한 호스트 이름이 포함되어 있지 않을 때는 역방향 조회가 5초 후에 시간 초과됩니다.
이것은 SQL Server 드라이버 코드 내의 내부 시간 제한일 뿐이고, 이에 따라 클라이언트 응용 프로그램에서 시간 초과 오류가 발생할 수도 있고 그렇지 않을 수도 있습니다. 연결 시도가 성공할 수는 있지만 해당 응용 프로그램이 수행한 새 연결이 모두 동일하게 5초 지연됩니다.

해결 방법

이 문제를 해결하려면 Microsoft SQL Server 2000의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

    290211 INF: 최신 SQL Server 2000 서비스 팩 구하기

이 문제를 해결하려면 Microsoft Data Access Components 2.6의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

    300635 INFO: 최신 MDAC 2.6 서비스 팩을 구하는 방법

핫픽스

참고: SQL Server 2000 서비스 팩 2 이전에 다음 핫픽스가 만들어졌습니다.

이 수정 프로그램의 영어 버전은 아래와 같거나 그 이상의 파일 특성을 가집니다.

날짜 비전 크기 파일이름 플랫폼
2001-06-19 2000.080.0304.00 86,082 Dbnetlib.dll x86

해결 과정

이 문제를 해결하려면 SQL Server 서버의 IP 주소 역방향 조회를 안정적으로 수행할 수 있는 수단을 제공하거나 IP 주소 대신 SQL Server 시스템 이름을 사용하거나 이 핫픽스를 적용하십시오.
HOSTS 파일이나 LMHOSTS를 사용하려면 해당 SQL Server 서버의 TCP/IP 주소를 줄의 맨 앞에 입력하고 공백을 몇 개 입력한 다음 SQL Server 서버의 시스템 이름을 입력합니다. 예를 들면 다음과 같습니다.

123.123.123.123 myservername

HOSTS 또는 LMHOSTS 파일은 Microsoft Windows NT 및 Microsoft Windows 2000을 실행 중인 클라이언트 컴퓨터의 경우에는 System32\Drivers\Etc 디렉터리에 있고 Microsoft Windows ME, Microsoft Windows 98 또는 Microsoft Windows 95를 실행 중인 클라이언트의 경우에는 \Windows 디렉터리에 있습니다.

현재 상태

Microsoft는 본 문서의 시작 부분에 나열한 Microsoft 제품에서 이 문제를 확인했습니다. 이 문제는 SQL Server 2000 서비스 팩 2와 MDAC 2.6 서비스 팩 2에서 처음 수정되었습니다.

추가 정보

이 문제를 재현하려면 SQL Server 시스템 이름이 아닌 IP 주소를 통해 SQL Server에 연결하는 다음과 같은 Microsoft Visual Basic 코드를 실행하십시오.

Dim conn as ADODB.Connection Set conn = New ADODB.Connection " Replace 123.123.123.123 with the IP address of your SQL Server here. " Replace User ID= and Password= with the correct values. " Make sure that User ID has the appropriate permissions to perform this operation on the database. conn.Open "Provider=SQLOLEDB;Server=123.123.123.123;User ID=;" & _ ";Password=;Initial Catalog=Pubs;"

이 문제는 SQL Server 7.0과 함께 MDAC 2.6을 사용할 때 주로 발생한 것으로 보고되었습니다.
DNS 역방향 조회의 문제를 해결하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

   164213 DNS 역방향 조회에 대한 설명


제공 : DB포탈사이트 DBguide.net

'Databases' 카테고리의 다른 글

SQL Server 2000에서 인덱스의 null 값 처리(2/2)  (2) 2007.04.25
SQL Server 2000에서 update시 join의 활용  (1) 2007.04.25
페이징 처리 sp  (1) 2007.04.25
커서 사용법  (0) 2007.04.25
SQL쿼리 분석시-주요 단축키  (1) 2007.04.25

+ Recent posts