Microsoft Dynamics SL에 로그인하려고 할 때 "시스템 메시지 5003 - 지정된 서버 데이터베이스를 열 수 없습니다." 오류

이 문서에서는 Microsoft Business Solutions - Solomon 또는 Microsoft Dynamics SL에 로그인하려고 할 때 발생하는 오류에 대한 솔루션을 제공합니다.

적용 대상: Microsoft Dynamics SL
원래 KB 번호: 875704

증상

Microsoft Business Solutions - Solomon 또는 Microsoft Dynamics SL에 로그인하려고 하면 다음 오류 메시지가 표시됩니다.

시스템 메시지 5003 - 지정된 서버 데이터베이스를 열 수 없음

원인

이 문제는 다음 이유 중 하나 이상에 대해 발생합니다.

원인 1

Microsoft Dynamics SL 시스템 데이터베이스의 도메인 테이블에 있는 서버 이름 값은 Microsoft Dynamics SL 데이터베이스를 포함하는 SQL Server instance 이름과 일치하지 않습니다. 해결 방법 1을 참조하세요.

원인 2

클라이언트 네트워크 유틸리티의 별칭은 이전 서버를 가리킵니다. 클라이언트 네트워크 유틸리티의 별칭이 올바른지 확인합니다. 해결 방법 2를 참조하세요.

원인 3

명명된 파이프 프로토콜 및 TCP/IP 프로토콜은 클라이언트 네트워크 유틸리티에서 사용하도록 설정되지 않습니다. 해결 방법 3을 참조하세요.

원인 4

새 Microsoft Dynamics SL 애플리케이션 데이터베이스에 로그인하려고 하면 데이터베이스 이름이 숫자로 시작되면 오류가 표시됩니다. SQL Server 제한이 있으므로 먼저 사전순 문자를 사용하여 데이터베이스 이름을 지정해야 합니다. 해결 방법 4를 참조하세요.

원인 5

Windows 권한이 부족하여 서버에 대한 명명된 파이프 연결을 설정할 수 없습니다. 해결 방법 5를 참조하세요.

원인 6

TCP/IP가 잘못 구성되었습니다. 해결 방법 6을 참조하세요.

원인 7

데이터베이스가 Single-User 모드로 설정됩니다. 해결 방법 7을 참조하세요.

원인 8

오류가 수신되는 컴퓨터의 Capicom.dll 파일이 손상되었거나 버전이 잘못되었습니다. 해결 방법 8을 참조하세요.

원인 9

SQL Server Windows 방화벽이 SQL Server/SL 데이터베이스에 대한 액세스를 차단하고 있습니다. 해결 방법 9를 참조하세요.

원인 10

Microsoft Dynamics SL에서 Windows 인증 보안 모델을 사용합니다. 그러나 Microsoft Dynamics SL의 사용자 ID를 Windows의 사용자 ID에 연결하지 않았습니다. 또한 SQL Server Microsoft Dynamics SL 시스템 데이터베이스에서 동일한 사용자 ID를 수동으로 만들었습니다. 해결 방법 10을 참조하세요.

원인 11

Microsoft Dynamics SL 사용자 계정은 Microsoft Dynamics SL의 ADMINISTRATORS 그룹의 구성원입니다. 그러나 관련 Windows 도메인 사용자 계정은 SQL Server sysadmin 역할의 멤버가 아닙니다. 해결 방법 11해결 방법 12를 참조하세요.

원인 12

Windows Server 2008 R2의 Windows 방화벽이 SQL Server/SL 데이터베이스에 대한 액세스를 차단하고 있습니다. 해결 방법 13을 참조하세요.

원인 13

데이터베이스 이름 상자에서 애플리케이션 데이터베이스를 선택하면 데이터베이스 찾기(98.000.01) 화면에서 발생합니다. 해결 방법 14를 참조하세요.

원인 14

서버 이름 및 데이터베이스 이름을 선택한 후 확인을 선택하면 데이터베이스 찾기(98.000.01) 화면에서 발생합니다. 해결 방법 15를 참조하세요.

해결 방법

이 문제를 resolve 적절한 해결 방법을 사용합니다.

해결 방법 1

도메인 테이블의 서버 이름 값을 확인하여 값이 Microsoft Dynamics SL 설치가 있는 SQL Server instance 이름과 일치하는지 확인합니다.

  1. SQL Server Management Studio Microsoft Dynamics SL 시스템 데이터베이스에서 다음 문을 실행합니다.

    Select servername, * from domain
    
  2. 서버 이름 값이 SQL Server instance 이름과 일치하지 않는 경우 다음 문을 실행하여 서버 이름 값을 업데이트합니다.

    UPDATE Domain SET ServerName = '<Nameofserver>'
    --Replace the <Nameofserver> placeholder with the instance name of SQL Server.
    
  3. 데이터베이스 유지 관리에 로그인합니다.

  4. 데이터베이스 업데이트 탭에서 Microsoft Dynamics SL 시스템 데이터베이스 및 연결된 모든 애플리케이션 데이터베이스를 선택한 다음, 보기 업데이트를 선택합니다.

해결 방법 2

이전 서버를 참조하는 별칭을 제거합니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 시작을 선택하고 실행을 선택하고 cliconfg를 입력한 다음 Enter 키를 누릅니.
  2. 별칭 탭에서 나열된 모든 별칭이 올바르고 현재 서버에 대한 별칭인지 확인합니다. 별칭 중 하나가 이전 서버를 참조하는 경우 포인터를 사용하여 제거하려는 서버에 포커스를 놓은 다음 제거를 선택합니다.
  3. 확인을 선택합니다.

32비트 컴퓨터에서:
실행> 유형 cliconfg시작>으로 이동합니다.

64비트 컴퓨터에서:

  1. 찾아보기 C:\Windows\SysWOW64
  2. 해당 폴더에 있는 cliconfg.exe 실행

해결 방법 3

클라이언트 네트워크 유틸리티에서 명명된 파이프 및 TCP/IP가 사용하도록 설정되어 있는지 확인합니다.

  1. 시작을 선택하고 실행을 선택하고 cliconfg를 입력한 다음 Enter 키를 누릅니.

  2. 일반 탭에서 명명된 파이프 프로토콜 및 TCP/IP 프로토콜이 순서대로 사용 프로토콜에 표시되는지 확인합니다. 이러한 프로토콜이 사용하도록 설정되지 않은 경우 포인터를 사용하여 각 프로토콜에 포커스를 두고 사용을 선택합니다.

  3. 명명된 파이프 프로토콜이 목록의 첫 번째 프로토콜이 아닌 경우 명명된 파이프 프로토콜을 선택하고 화살표 키를 사용하여 이동합니다.

  4. 확인을 선택합니다.

    참고

    일반적으로 프로토콜을 먼저 로드해야 하는 권장 사항은 설정되지 않습니다. 네트워크 구성에 따라 한 프로토콜이 다른 프로토콜보다 더 잘 작동할 수 있습니다.

32비트 컴퓨터에서:

  1. 실행> 유형 cliconfg시작>으로 이동합니다.
  2. 명명된 파이프와 TCP/IP가 모두 사용하도록 설정되어 있는지 확인합니다.

64비트 컴퓨터에서:

  1. 으로 이동합니다 C:\Windows\SysWOW64.
  2. 해당 폴더에 있는 cliconfg.exe 실행
  3. 명명된 파이프와 TCP/IP가 모두 사용하도록 설정되어 있는지 확인합니다.

해결 방법 4

기존 Microsoft Dynamics SL 애플리케이션 및 시스템 데이터베이스의 백업을 만든 다음 알파 데이터베이스 이름을 사용하여 데이터베이스를 동일한 서버로 복원합니다.

참고

4단계에서 데이터베이스를 동일한 SQL Server 복원해야 합니다.

해결 방법 5

Windows에서 사용자에게 충분한 권한을 부여합니다.

참고

SQL Server 사용자가 Windows에서 권한이 부족하기 때문에 레지스트리 설정을 읽어 명명된 파이프 연결을 설정할 수 없습니다. 네트워크 시스템 관리자에게 문의하여 도움을 받으세요.

해결 방법 6

TCP/IP가 올바르게 구성되었는지 확인합니다.

  1. DHCP를 사용하여 IP 주소를 할당하는 경우 오류를 생성하는 컴퓨터에서 고정 IP 주소를 할당하는 대신 DHCP 서버에서 주소를 할당하도록 해야 합니다.

  2. 워크스테이션이 서버를 ping할 수 있는지 확인합니다. 이렇게 하려면 다음 단계를 따르세요.

    1. 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 Enter 키를 누릅니.

    2. DOS 프롬프트에서 ping ServerName을<> 입력하거나 ping ServerIPAddress>를< 입력합니다.

      참고

      <ServerName> 자리 표시자를 서버 이름으로 바꿉 있습니다. <ServerIPAddress> 자리 표시자를 서버의 IP 주소로 바꿉니다.

  3. 정적 DNS 확인을 사용하는 경우 SQL Server 실행 중인 서버를 네트워크 - TCP/IP 속성 - DNS 구성 또는 워크스테이션 컴퓨터의 호스트 파일에 있는 DNS 서버 검색 순서 목록에 추가합니다. 네트워크 시스템 관리자에게 문의하여 도움을 받으세요.

해결 방법 7

데이터베이스 속성에서 단일 사용자 액세스 지우기

  1. SQL Server Management Studio를 엽니다.
  2. 데이터베이스를 확장합니다.
  3. Microsoft Dynamics SL 애플리케이션 데이터베이스를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  4. 옵션 페이지에서 단일 사용자가액세스 제한 값으로 선택되지 않은지 확인합니다.

해결 방법 8

Capicom.dll 파일의 버전을 확인하고 파일을 수동으로 등록합니다.

  1. 다음 경로에서 Capicom.dll 파일을 찾습니다.

    32비트 운영 체제: <SystemDrive>:\Windows\System32

    64비트 운영 체제: <SystemDrive>:\Windows\SysWOW64

    참고

    <SystemDrive> 는 Microsoft Windows가 설치된 드라이브를 나타냅니다.

  2. Capicom.dll 파일의 버전이 2.1.0.1인지 확인합니다. 이렇게 하려면 다음 단계를 따르세요.

    1. Capicom.dll 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. capicom.dll 속성 대화 상자가 나타납니다.
    2. 버전 탭에서 파일 버전 값이 2.1.0.1인지 확인합니다.
    3. 확인을 선택합니다.
  3. Capicom.dll 파일을 마우스 오른쪽 단추로 클릭한 다음, 열기를 선택합니다.

  4. Windows 대화 상자에서 목록에서 프로그램 선택을 선택한 다음 확인을 선택합니다.

  5. 함께 열기 대화 상자에서 찾아보기를 선택합니다.

  6. 다음 폴더를 찾아 엽니다.

    32비트 운영 체제: <SystemDrive>:\Windows\System32 64비트 운영 체제: <SystemDrive>:\Windows\SysWOW64

  7. Regsvr32.exe 파일을 두 번 클릭한 다음 확인을 선택합니다.

  8. 다음 메시지가 표시되면 확인을 선택합니다.

    RegSvr32 - SystemDrive :\windows\system32\capicom.dll DllRegisterServer가 성공했습니다.

해결 방법 9

SQL Server 포트 1433을 엽니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 제어판 Windows 방화벽을 선택합니다.
  2. 예외 탭에서 포트 추가를 선택합니다.
  3. 다음 설정을 지정합니다.
    • 이름: 1433
    • 포트 번호: 1433
    • TCP를 선택합니다.
  4. 확인을 두 번 선택합니다.

해결 방법 10

SQL에서 만든 사용자 ID를 삭제한 다음 Microsoft Dynamics SL 사용자 ID를 Windows 사용자 ID에 연결합니다. 이렇게 하려면 다음 단계를 따르세요.

  1. SQL에서 만든 사용자 ID를 삭제합니다.

    1. SQL Server Management Studio 데이터베이스를 확장하고 Microsoft Dynamics SL 시스템 데이터베이스를 확장하고 보안을 확장한 다음 사용자를 확장합니다.
    2. 만든 사용자 ID를 마우스 오른쪽 단추로 클릭한 다음 삭제를 선택합니다.
    3. 개체 삭제 대화 상자에서 확인을 선택합니다.
  2. Microsoft Dynamics SL 사용자 ID를 Windows 사용자 ID에 연결합니다.

    1. SYSADMIN 사용자 ID를 사용하여 Microsoft Dynamics SL에 로그인합니다.

    2. 탐색 창에서 관리를 선택합니다.

    3. 관리 세부 정보 창의 보안에서 사용자 유지 관리를 선택합니다.

    4. 사용자 ID 상자에 Microsoft Dynamics SL에 로그인할 수 없는 사용자 ID를 입력합니다.

    5. 세부 정보 탭의 Windows 사용자 이름 상자에 DomainName UserName을><\<입력합니다>.

      참고

      <DomainName> 자리 표시자를 Windows 도메인 이름으로 바꾸고 UserName> 자리 표시자를 Windows 사용자 ID로 바꿉<니다.

    6. 저장을 선택한 다음 사용자 유지 관리(95.260.00) 화면을 닫습니다.

해결 방법 11

Microsoft Dynamics SL 데이터베이스의 소유권 및 보안을 동기화합니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 데이터베이스 유지 관리(98.290.00) 화면을 엽니다.
  2. 대상 SQL Server 이름 상자에 서버 이름을 입력합니다.
  3. 로그인 ID 상자에 sa를 입력합니다.
  4. 암호 상자에 SYSADMIN 사용자의 암호를 입력합니다.
  5. 연결을 선택합니다.
  6. 데이터베이스 업데이트 탭의 시스템 데이터베이스 이름 상자에서 시스템 데이터베이스를 선택합니다.
  7. 데이터베이스 열에서 애플리케이션 데이터베이스를 선택합니다.
  8. 업데이트 시나리오 영역에서 모든 소유권 & 보안 동기화를 선택합니다.
  9. 데이터베이스 업데이트를 선택합니다.
  10. 데이터베이스 유지 관리(98.290.00) 화면을 닫습니다.

해결 방법 12

Microsoft Dynamics SL의 ADMINISTRATORS 그룹에 대한 모든 사용자를 제거하고 읽습니다. 이렇게 하려면 다음 단계를 따르세요.

참고

이 해결 방법은 관리 권한이 있는 하나 이상의 Microsoft Dynamics SL 사용자 계정이 Microsoft Dynamics SL에 로그인할 수 있다고 가정합니다.

  1. 관리 권한이 있는 Microsoft Dynamics SL 사용자 계정에 연결된 Windows 도메인 사용자 계정을 사용하여 도메인에 로그인합니다.
  2. 관리를 선택합니다.
  3. 시스템 관리자 창의 보안에서 그룹 유지 관리를 선택합니다.
  4. 그룹 ID 상자에 ADMINISTRATORS를 입력한 다음 TAB 키를 누릅니다.
  5. 참고

    세부 정보 영역에 나열된 사용자 ID입니다.

  6. 현재 로그인한 사용자 ID를 제외하고 목록에서 모든 사용자를 삭제합니다.
  7. 저장을 선택합니다.
  8. 사용자 ID를 추가한 다음 저장을 선택합니다.
  9. 그룹 유지 관리(95.280.00) 화면을 닫습니다.

해결 방법 13

포트 번호 1433 및 1434를 엽니다. 이렇게 하려면 다음 단계를 따르세요.

  1. SQL Server 실행 중인 컴퓨터에서 시작을 선택하고 관리 도구를 가리킨 다음 고급 보안이 있는 Windows 방화벽을 선택합니다.
  2. 인바운드 규칙을 마우스 오른쪽 단추로 클릭하고 새 규칙을 선택한 다음, 다음을 선택합니다.
  3. 모든 프로그램을 선택한 다음, 다음을 선택합니다.
  4. 다음을 선택하고 공용 검사 상자를 선택 취소한 다음, 다음을 선택합니다.
  5. 이름 상자에 SQL SERVER를 입력한 다음 마침을 선택합니다.
  6. 인바운드 규칙 창에서SQL SERVER를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.
  7. 프로토콜 및 포트 탭의 프로토콜유형 상자에서 TCP를 선택합니다.
  8. 로컬 포트 상자에서 특정 포트를 선택한 다음, 1433을 입력합니다.
  9. 적용을 선택한 다음 확인을 선택합니다.
  10. 인바운드 규칙을 마우스 오른쪽 단추로 클릭하고 새 규칙을 선택한 다음, 다음을 선택합니다.
  11. 모든 프로그램을 선택한 다음, 다음을 선택합니다.
  12. 다음을 선택하고 공용 검사 상자를 선택 취소한 다음, 다음을 선택합니다.
  13. 이름 상자에 SQL SERVER BROWSER를 입력한 다음 마침을 선택합니다.
  14. 인바운드 규칙 창에서SQL SERVER BROWSER를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.
  15. 프로토콜 및 포트 탭의 프로토콜유형 상자에서 UDP를 선택합니다.
  16. 로컬 포트 상자에서 특정 포트를 선택한 다음, 1434를 입력합니다.
  17. 적용을 선택한 다음 확인을 선택하여 SQL SERVER BROWSER 속성 대화 상자를 닫습니다.

해결 방법 14

데이터베이스 이름 상자에서 적절한 시스템 데이터베이스 이름을 선택한 다음 확인을 선택합니다.

해결 방법 15

SQL Server 클라이언트 네트워크 유틸리티의 SQL 서버에 별칭을 다시 추가합니다.

32비트 컴퓨터에서:

  1. 실행> 유형 cliconfg시작>으로 이동합니다.
  2. 명명된 파이프와 TCP/IP가 모두 사용하도록 설정되어 있는지 확인합니다.
  3. 별칭 탭에서 추가를 선택합니다.
  4. 서버 별칭의 경우 데이터베이스 찾기 화면에 입력할 때 서버 이름을 정확히 입력합니다.
  5. 다른 모든 항목은 기본값으로 둡니다. (기본적으로 명명된 파이프 별칭이어야 합니다.)
  6. 확인을 선택합니다.
  7. 적용을 선택합니다.
  8. 확인을 선택합니다.

64비트 컴퓨터에서:

  1. C:\Windows\SysWOW64(으)로 이동
  2. 해당 폴더에 있는 cliconfg.exe 실행
  3. 명명된 파이프와 TCP/IP가 모두 사용하도록 설정되어 있는지 확인합니다.
  4. 별칭 탭에서 추가를 선택합니다.
  5. 서버 별칭의 경우 데이터베이스 찾기 화면에 입력할 때 서버 이름을 정확히 입력합니다.
  6. 다른 모든 항목은 기본값으로 둡니다. (기본적으로 명명된 파이프 별칭이어야 합니다.)
  7. 확인을 선택합니다.
  8. 적용을 선택합니다.
  9. 확인을 선택합니다.

추가 정보

네트워크 문제를 제외하려면 오류 메시지가 표시되는 컴퓨터에서 테스트 ODBC 연결을 만듭니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 제어판 관리 도구를 선택한 다음 데이터 원본(ODBC)을 선택합니다.
  2. 사용자 DSN 탭에서 추가를 선택하고 목록 끝까지 스크롤한 다음 SQL Server 선택한 다음 마침을 선택합니다.
  3. 다음 설정을 지정합니다.
    • 이름: TEST
    • 설명: TEST
    • 서버: 연결할 SQL Server 입력합니다.
  4. 다음을 선택합니다.
  5. Windows 인증 또는 SQL 인증을 선택하고 sa 사용자 이름 및 암호를 입력해야 하는 경우 입력합니다.
  6. 다음을 두 번 선택하고 마침을 선택한 다음, 데이터 원본 테스트를 선택합니다.