#title 분산트랜잭션오류 [[TableOfContents]] ==== 분산트랜잭션오류의 원인 ==== * MSDTC 서비스가 시작되지 않은 경우: 서비스를 시작해준다. * Name Resolution이 되지 않은 경우: hosts파일에 host이름 및 IP를 적어준다. [attachment:dtcping.zip DTCPing.exe]를 이용하여 검사한다. * RPC통신을 위한 포트 설정이 되지 않은 경우: http://support.microsoft.com/kb/250367/ko를 보고 설정한다. * H/W 방화벽이 막힌경우: RPC통신을 위한 포트 설정이 되었으나 통신이 되지 않는 경우 시스템 관리자에게 문의 * 기타 원인: SET XACT_ABORT ON 으로 세션 설정등 자질구레한 도움말에 나오는 것들.. ==== 해결 방법들 ==== * [http://msdn.microsoft.com/ko-kr/library/ms189117.aspx 장애 조치(Failover) 클러스터 문제 해결] * [http://support.microsoft.com/kb/250367/ko INFO: Microsoft DTC가 방화벽을 통해 작동하도록 구성] * [http://support.microsoft.com/kb/306843/ko MS DTC 방화벽 문제를 해결하는 방법] * [attachment:dtcping.zip DTCPing.exe] * http://dbakidd.egloos.com/704517 ==== DTCPing.exe 사용 방법 ==== 1. 분산 트랜잭션에 참여할 두 서버에 DTCPing.exe의 압축을 풀고, 동시에 실행시킨다. (Targe Server는 서버의 Host Name) 2. DTCPing.exe의 압축을 푼 폴더에 로그파일이 저장된다. 3. 로그 파일을 열어 어떤 연결성 문제가 있는지 분석한다. ==== 참고사항 ==== * 클러스터 환경이라면 가상서버 환경이라는 점을 고려한다. (예: hosts파일에 가성서버 IP를 적어준다.) * DTCPing.exe는 OS 보안설정에서 Remote RPC가 막혀있는 경우 오류를 발생시킬 수 있다.