'분산트랜잭션'에 해당되는 글 3

  1. 2009.12.29 DTC 확인 쿼리
  2. 2009.12.02 서버 'xxxerp'이(가) RPC에 대해 구성되지 않았습니다.
  3. 2009.07.09 지정한 트랜잭션 코디네이터에 새 트랜잭션을 기록할 수 없습니다.

DTC 확인 쿼리

어디선가 본 DTC 통신 확인 쿼리
되는 경우 1?

서버 'xxxerp'이(가) RPC에 대해 구성되지 않았습니다.

원격 프로시저가 호출되지 않는 경우 RPC 설정을 바꾼다.


True 로 변경한다.
RPC, RPC 내보내기 모두 해야 함.[각주:1]
  1. 2010-01-14 추가 : 되는듯. 2010-01-17 추가 : 함. [본문으로]

지정한 트랜잭션 코디네이터에 새 트랜잭션을 기록할 수 없습니다.

- 갑자기 아래와 같은 에러가 발생함.
메시지 7391, 수준 16, 상태 1, 줄 1
OLE/DB 공급자 'SQLOLEDB'이(가) 분산 트랜잭션을 시작할 수 없으므로 작업을 수행할 수 없습니다.
OLE DB 오류 추적 [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
[OLE/DB provider returned message: 지정한 트랜잭션 코디네이터에 새 트랜잭션을 기록할 수 없습니다. ]

- 사례1
원격지에 있는 SQL Server에 Linked Server를 통해서 연결한뒤 데이터를 가져올때 발생
원격지 DB에 있는 뷰에서 다른 원격지의 테이블을 참조하는데 권한이 없어서 발생한 거 같다.

- 사례2
새로운 서버가 들어온 뒤 이런 에러가 발생함.
각 서버(원격지 서버, 현재 접속한 서버)의 hosts파일에 호스트명을 등록했다.
2012-04-16 서버 IP변경후 발생함. 원격지 서버의 hosts파일에 해당 서버의 IP를 변경함.

- 사례3
MSDTC 보안 설정을 한다.(네트워크 DTC 액세스, 트랜잭션 관리자 통신 인/아웃바운드 허용(둘중 하나 또는 둘다), 인증 필요 없음)

Windows 2000

Windows 2008

- 참고
분산 트랜잭션이 작동하지 않을 때
MS-DTC Setting on Windows 2003
분산트랜잭션, MSDTS 문제 이렇게 해결해 보자.
분산 트랜잭션 설정

DTCPing.exe 활용하여 연결성 체크하기
DTCPing.exe
DTCTester 도구를 사용하는 방법

About RPC... (1)
About RPC... (2)
About RPC... (3)