이 문서는 이 방화벽 기능에 예외를 추가하여 MS DTC를 정상적으로 수행되게 해 주는 절차를 기술한다.
현상(Symptoms) 1. COM+ 트랜잭션 속성이 Not Supported일 경우에는 정상적으로 DB서버에 접근하여 로직 처리가 이루어지나, 트랜잭션 속성이 Required나 Required New일 경우에는 "트랜잭션이 이미 암시적 또는 명시적으로 커밋되었거나 종료되었습니다" 라는 메시지가 보이면서 Exception이 발생하게 된다.
2. 경우에 따라서 아래와 같은 에러 메시지가 보이기도 한다. The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to start a distributed transaction.[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
원인(Causes)
1. Microsoft Distributes Transaction Coordinator(MS DTC)가 Network Transaction이 불가능하게 되어 있는 경우 2. Windows 방화벽이 활성화 되어 있고 Windows 방화벽이 MS DTC 프로그램을 Block시켰을 때(SP2의 Default 세팅), Windows 방화벽이 비활성화 되어 있을 경우에도 일어날 수도 있음.
해결(workarounds)
1. MS DTC 서비스가 제대로 작동 중인지를 확인
2. MS DTC 속성 중 일부 설정 변경
3. Windows 방화벽 설정 변경
이 절차를 거치면 Windows XP SP 2에서의 MS DTC 설정은 완료되게 된다. |
'Server Story.... > Windows Server' 카테고리의 다른 글
MSsql DB 테이블별 크기 조회 쿼리 (0) | 2010.10.19 |
---|---|
서버 시간동기화 관련. (0) | 2010.08.11 |
윈도우 포트 번호대 서비스 목록 (0) | 2010.05.28 |
VB 에서 레코드셋 필터 사용방법 (0) | 2010.05.28 |
쿼리별 부하 확인 (0) | 2010.05.28 |