MS DTC 방화벽 문제를 해결하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 306843 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR306843
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Microsoft Distributed Transaction Coordinator(MS DTC)를 사용하여 다른 MS DTC와 방화벽을 통해 통신할 수 있도록 문제 해결 방법을 단계별로 설명합니다. 다음은 방화벽을 통해 MS DTC를 사용할 때 발생할 수 있는 몇 가지 문제입니다.
  • MTS 또는 COM+ 구성 요소에서 트랜잭션 지원 속성이 지원하지 않음이나 지원함으로 설정되면 응용 프로그램이 성공적으로 작동하지만 필요새 트랜잭션 필요로 설정되면 성공적으로 작동하지 않습니다.
  • 아래와 같은 오류 메시지가 나타납니다.
    New transaction cannot enlist in specified transaction coordinator
  • 아래와 같은 오류 메시지가 나타납니다.
    Error 8004d00a. Distributed Transaction error
여러 다른 Microsoft 문서에서 이 문제를 해결하는 방법을 설명하지만 이 문서에서는 대부분의 내용을 요약 설명합니다.

참고 아래의 문제 해결 단계는 Microsoft Windows NT와 Windows 2000 운영 체제에서만 사용하도록 설계되었습니다.

추가 정보

문제 해결 단계

  1. MS DTC 서비스가 두 서버 모두에서 시작되었는지 확인합니다.
  2. 서버에서 Windows NT 4.0을 실행 중인 경우 Windows NT 4.0 Option Pack(NTOP)을 설치한 후에 Windows NT 4.0 서비스 팩 6(SP6)을 다시 적용해야 합니다. 아래의 표에 나와 있는 파일 버전을 검토하여 Windows NT 4.0 Option Pack을 설치한 후에 Windows NT 4.0 SP6이 다시 적용되었는지 확인합니다.

    표 축소표 확대
    파일 이름NTOP 설치 후의 버전SP6을 다시 설치한 후의 버전
    Msdtcprx.dll1997.11.5321999.6.854.0
    Msdtctm.dll1997.11.5321999.6.854.0
    Xolehlp.dll1997.11.5321998.08.762

    Windows NT 4.0 Option Pack 설치에 대한 자세한 내용은 다음 Microsoft 백서를 참조하십시오.
    IIS 4.0 권장 설치 절차
    http://support.microsoft.com/support/iis/install/install_iis4.asp
  3. MS DTC 통신이 방화벽 사이에 흐르도록 두 서버를 구성합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    250367 INFO: Microsoft DTC가 방화벽을 통해 작동하도록 구성
    Windows 2000에서 TCP 포트를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    300083 Windows 2000과 Windows XP에서 TCP/IP 포트를 제한하는 방법
  4. MS DTC가 방화벽을 통해 작동하지 않는 경우 DTCPing.exe 도구를 다운로드하고 관련된 두 서버에 이 도구를 설치하십시오.Microsoft 다운로드 센터에서 다음 파일을 다운로드할 수 있습니다.
    그림 축소그림 확대
    http://download.microsoft.com/download/
    지금 DTCPing.exe 다운로드(영문)
    DTCPing.exe 파일에는 다음 파일이 포함되어 있습니다.
    표 축소표 확대
    날짜시간버전크기파일 이름
    2003-10-29오후 10:561.8.0.1274,490Dtcping.exe
    2003-12-15오후 10:051,618Eula.txt
    2003-11-24오후 8:591,560Machinea_failure.log
    2003-11-24오후 8:211,901Machinea_success.log
    2003-11-24오후 8:55999Machineb_failure.log
    2003-11-24오후 8:311,750Machineb_success.log
    2003-11-24오후 8:152,325Readme.txt


    릴리스 날짜: 2003년 11월 24일

    Microsoft 지원 파일을 다운로드하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    119591 온라인 서비스로부터 Microsoft 지원 파일을 구하는 방법
    Microsoft는 파일을 게시한 날짜에 사용할 수 있는 최신의 바이러스 예방 프로그램으로 이 파일을 검사했습니다. 이 파일은 해당 파일을 무단으로 변경할 수 없는 보안이 향상된 서버에 보관됩니다.
  5. DTCPing.exe 다운로드에 포함되어 있는 Readme.txt 파일을 사용하여 Server1에서 Server2로 이동하는 RPC(원격 프로시저 호출) 및 Distributed Transaction Coordinator(DTC) 통신을 테스트합니다. 이 테스트를 성공하면 Server2에서 Server1로 테스트를 실행합니다.

    RPC가 어느 한 방향으로 흐를 수 없으면 MS DTC 통신이 양방향에서 실패합니다. RPC 통신이 실패하면 둘 중 한 서버의 DTCPing 창에서 이 실패를 표시하며 연관된 dtcping.log 파일에도 이 실패가 저장됩니다. 자세한 내용은 Readme.txt 파일을 참조하십시오. 테스트가 한 방향에서 실패하고 로그에서 RPC 통신이 실패했음을 나타내면 다음 단계로 진행합니다. 테스트가 한 방향에서 실패하고 로그에서 DTC 통신이 실패했음을 나타내면 아래의 9단계로 진행합니다.
  6. RPC가 한 방향(예: Server1에서 Server2)이라도 실패한 경우 방화벽 관리자는 ICMP(Internet Control Message Protocol)가 양방향으로 열려 있는지 확인해야 합니다.

    참고 일반적으로 dtcping.log 파일을 읽어 보면 RPC 실패 여부를 확인할 수 있습니다.

    기본적으로 ICMP는 port1입니다. %windir%\WinNT\System32\Drivers\ 폴더에 있는 프로토콜 파일에서 이를 확인할 수 있습니다. Server1에서 NetBios 이름으로 Server2를 핑(Ping)합니다. 핑이 실패하면 다음 단계로 진행합니다. 성공한 경우 8단계로 진행합니다.
  7. Server1에서 IP 주소로 Server2를 핑하여 방화벽에서 핑을 위해 올바른 포트가 열려 있는지 확인합니다. 네트워크 모니터 추적으로 이를 확인할 수 있습니다. IP 주소 핑은 성공하지만 NetBios 이름 핑이 실패하면 이름 확인에 문제가 있는 것입니다.

    참고?ipconfig /all 명령을 사용하여 서버의 IP 주소를 검색할 수 있습니다.

    이름 확인을 테스트하는 빠른 방법은 클라이언트 서버의 호스트 파일에 항목을 만드는 것입니다. 여기서 클라이언트 서버는 NetBios 이름 핑이 실패한 서버입니다. 파일에 포함된 예제 항목을 따라 사용자 항목을 만들 수 있습니다.

    참고 문제 해결을 위해서만 호스트 파일에 항목을 만들어야 합니다. 새 항목이 이름 확인 문제를 해결하는 경우 호스트 파일에서 해당 항목을 제거하고 DNS, WINS 서버 또는 LmHosts 파일에서 필요한 항목을 만드십시오.

    이름 확인 문제에 대한 다른 해결 방법도 있지만 이 문서에서는 다루지 않습니다.
  8. NetBios 이름으로 Server1에서 Server2로의 핑이 실패하거나, Server1에서 Server2로의 핑은 성공하지만 DTCPing 테스트에서 RPC 통신이 실패한 것으로 나타나면 포트 135(종점 매퍼 또는 EPM)가 방화벽에서 양방향으로 열려 있지 않을 가능성이 있습니다. EPM이 양방향으로 열려 있는지 방화벽을 확인합니다. 이 때 네트워크 모니터 추적을 사용하면 문제를 정확하게 파악할 수 있습니다.
  9. DTCPing 테스트에서 RPC 통신이 양방향으로 모두 작동하는 것으로 나타나는 경우에만 이 단계를 수행합니다. DTCPing에서 어떤 방향에서도 오류가 없는 것으로 나타나면 RPC 통신과 MS DTC 통신이 제대로 흐르는 것입니다.
  10. DTCPing에서 DTC 통신이 한 방향(예: Server1에서 Server2로)이라도 실패한 것으로 나타나는 경우 개발자가 MS DTC 구성 문서(3단계 참조)의 단계를 수행할 때 지정한 포트가 열려 있는지 확인하도록 방화벽 관리자에게 지시합니다. 또한 어느 한(또는 두) 서버에 대해 RPC 콜백을 금지하는 일부 규칙이 방화벽에 적용되었을 수도 있습니다. 네트워크 모니터 추적이 이러한 경우의 문제 해결에 도움을 줄 수 있습니다.
  11. DTCPing에서 다음과 비슷한 오류 메시지를 반환하는 경우
    Unexpected: My session guid is same as partner's guid
    현재 서버가 다른 서버와 중복되었거나 복제되었는지 확인합니다. 그러한 경우에는 레지스트리에서 HKEY_CLASSES_ROOT\CID 키를 찾습니다. 이 키에서 GUID를 두 개 이상 볼 수 있습니다. 기본 설명 키가 MSDTC인 GUID를 찾습니다. 이 GUID는 DTCPing 출력 창에도 나타나 있습니다. 다른 서버의 레지스트리에도 MS DTC에 대해 동일한 GUID가 나타나면 레지스트리 중 하나에서 MS DTC에 대해 GUID를 새로 만들어야 합니다. GuidGen을 사용하면 GUID를 새로 만들 수 있습니다.

    이 새 GUID와 모든 기본 키를 HKEY_CLASSES_ROOT\CID에 추가한 후 대체되는 이전 GUID는 삭제하십시오.

    이 단계에서 문제가 해결되면 다음 문서를 참조하여 복제(또는 "허상") 컴퓨터에 대한 자세한 내용을 확인하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    162001 설치한 Windows 버전을 디스크 복제하지 않아야 한다




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

속성

기술 자료: 306843 - 마지막 검토: 2007년 10월 29일 월요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft COM+ 1.0
  • Microsoft Transaction Services 2.0
키워드:?
kbproductlink kbdownload kbdtc kbhowto KB306843
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

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