SQL Server 2005를 설치한 후에 설치된 SQL Server 2000 또는 SQL Server 7.0의 인스턴스에 연결하려고 하면 연결 오류 메시지가 나타날 수 있다

기술 자료 번역 기술 자료 번역
기술 자료: 905618 - 이 문서가 적용되는 제품 보기.
베타 정보
이 문서에서는 Microsoft 제품의 베타 릴리스에 대해 설명합니다. 이 문서의 정보는 "있는 그대로" 제공되며 사전 통보 없이 변경될 수 있습니다.

이 베타 제품은 Microsoft의 공식 제품 지원 서비스를 받을 수 없습니다. 베타 릴리스 지원을 얻는 방법에 대한 자세한 내용은 베타 제품 파일에 포함된 설명서를 참조하거나 릴리스를 다운로드한 웹 사이트를 확인하십시오.
중요 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 레지스트리를 백업하는 것이 좋습니다. 문제가 발생하는 경우 레지스트리를 복원하는 방법을 알고 있어야 합니다. 레지스트리 백업, 복원 및 수정 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986 Microsoft Windows 레지스트리 설명
모두 확대 | 모두 축소

이 페이지에서

현상

다음과 같은 경우 연결 오류 메시지가 나타날 수 있습니다.
  • SQL Server 2005를 설치한 후에 Microsoft SQL Server 2000 또는 SQL Server 7.0을 설치한 경우
  • SQL Server 2000 또는 SQL Server 7.0에서 만든 인스턴스에 연결하려고 하는 경우
이 문제는 SQL Server Browser 서비스가 계속 실행 중인 경우에도 연결 문자열에 프로토콜 관련 정보가 없으면 발생합니다.

이 시나리오에서 프로토콜 관련 정보는 서버에서 반환하는 정보에 따라 달라집니다. 예를 들어, Sqlcmd 유틸리티(Sqlcmd.exe)를 사용하여 인스턴스에 연결할 때 다음 오류 메시지가 나타날 수 있습니다.
SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
Sqlcmd: Error: Microsoft SQL Native Client : Client unable to establish connection.
Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.

원인

SQL Server 2000 또는 SQL Server 7.0의 인스턴스에 연결하려고 하면 SQL Server Browser 서비스(Sqlbrowser)가 Microsoft Windows 레지스트리에서 필요한 프로토콜 정보를 가져와서 클라이언트로 릴레이하려고 합니다. 따라서 SQL Server Browser 서비스에는 인스턴스에 대한 해당 Windows 레지스트리를 읽을 수 있는 충분한 권한이 있어야 합니다.

SQL Server 2005를 설치하면 SQL Server Browser 서비스가 필요한 프로토콜 정보를 읽을 수 있도록 기존의 모든 인스턴스의 레지스트리 키가 수정됩니다. 그러나 SQL Server 2005를 설치한 후에 SQL Server 2000 또는 SQL Server 7.0의 인스턴스를 설치한 경우에는 올바른 레지스트리 사용 권한이 설정되지 않습니다. 사용 권한은 SQL Server Browser 서비스가 설치되어 있는 경우에만 수정됩니다. 특히 SQL Server Browser 서비스의 시작 계정이 Administrators 계정이 아닌 경우, 이 계정에 인스턴스와 관련된 키를 읽는 데 필요한 액세스 권한이 없을 수 있습니다.

참고 SQL Server 2000에서 SQL Server 서비스는 서버 연결 끝점을 식별합니다. SQL Server 2005에서는 이 기능이 SQL Server Browser 서비스로 대체되었습니다. SQL Server 2000이 이미 실행 중인 컴퓨터에 SQL Server 2005를 설치하는 경우 해당 컴퓨터에 SQL Server 2000 서비스 팩 3(SP3), SQL Server 2000 SP3a 또는 SQL Server 2000 SP4를 설치해야 합니다.

해결 과정

경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이 문제를 해결하려면 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 문제에 대해 해결을 보증하지 않습니다. 레지스트리의 수정에 따른 모든 책임은 사용자에게 있습니다.

이 문제를 해결하려면 다음 방법 중 하나를 사용할 수 있습니다.

특정 키에 대한 읽기 권한을 부여하도록 레지스트리 수정

SQL Server 2005를 설치한 후에 설치된 각 SQL Server 2000 인스턴스에 대해 다음과 같이 하십시오.
  1. 시작, 실행을 차례로 누르고 regedit를 입력한 다음 확인을 누릅니다.
  2. 다음 레지스트리 하위 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstanceName
    이 하위 키에서 InstanceName은 SQL Server 2000 인스턴스의 이름입니다.

    참고 SQL Server 2000을 기본 인스턴스로 설치한 경우 레지스트리 하위 키는 다음과 같습니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
  3. 편집 메뉴에서 사용 권한을 누릅니다.
  4. 추가를 누르고 SQLServer2005SQLBrowserUser 또는 SQLServer2005SQLBrowserUser$ComputerName을 입력한 다음 확인을 누릅니다.

    참고 사용자 컴퓨터에서는 SQLServer2005SQLBrowserUser 계정 그룹 이름이 SQLServer2005SQLBrowserUser$ComputerName일 수 있습니다. 컴퓨터 관리로컬 사용자 및 그룹에서 이 그룹 이름을 찾을 수 있습니다. 이 단계에서 SQLServer2005SQLBrowserUser$ComputerNameComputerName은 사용자 컴퓨터의 이름입니다.
  5. 이 사용자 계정의 사용 권한 목록에서 읽기 확인란을 눌러 선택한 다음 확인을 누릅니다.
  6. 레지스트리 편집기를 종료한 다음 SQL Server Browser 서비스를 다시 시작합니다.
참고 사용 권한은 하위 키에서 상속되어야 합니다. 사용 권한이 상속되지 않으면 다음 키(있을 경우)에 대한 읽기 권한을 SQLServer2005SQLBrowserUser 또는 SQLServer2005SQLBrowserUser$ComputerName에 명시적으로 부여해야 합니다.
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\CurrentVersion
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\SuperSocketNetLib
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Cluster
참고 이 하위 키에서 InstanceName은 SQL Server 2000 인스턴스의 이름입니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\SuperSocketNetLib
레지스트리 하위 키가 상속되지 않으면 이 레지스트리 하위 키의 기본 키를 수동으로 수정해야 합니다.

참고 SQL Server 7.0에서는 명명된 인스턴스가 없기 때문에
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
레지스트리 하위 키에서 해당 사용 권한이 관련 레지스트리 키로 상속되어야 합니다. 그러나 사용 권한이 상속되지 않으면 해당 사용 권한을 수동으로 설정해야 합니다.

연결 문자열에 연결 정보를 명시적으로 지정

클라이언트에서 SQL Server 2000 또는 SQL Server 7.0의 인스턴스에 연결할 때 연결 문자열에 연결 정보를 명시적으로 지정할 수 있습니다. 이 정보는 연결 정보가 서버에서 반환하는 정보에 따라 달라지지 않도록 하기 위해 지정합니다. 예를 들어, Sqlcmd 유틸리티를 사용할 때 다음 명령과 유사한 명령을 사용하여 인스턴스에 연결할 수 있습니다.
sqlcmd ?S tcp:yourhost,1500

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열한 제품에서 이 문제를 확인했습니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 905618 - 마지막 검토: 2006년 1월 13일 금요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Standard Edition Community Technology Preview
  • Microsoft SQL Server 2005 Developer Edition Community Technology Preview
  • Microsoft SQL Server 2005 Enterprise Edition Community Technology Preview
  • Microsoft SQL Server 2005 Express Edition Community Technology Preview
키워드:?
kbprb KB905618

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com