우선,
두대의 DB 머신이 있습니다.
둘 다 2003 Server / SQL SERVER 2005 사용중입니다.
B 머신에서 A 머신에 있는 디비를 참고하는 SP 가 있습니다.
두 머신은 Linked Server로 구성되어있구요..
B 머신에서, select * from a.aDB.dbo.test 하면 조회가 됩니다.
근데 exec dbo.test 라는 SP를 수행하면, (A DB에 정보를 기록하고, 조회합니다.)
연결된 서버 "A"의 OLE DB 공급자 "SQLNCLI"이(가) 메시지 "활성 중인 트랜잭션이 없습니다."을(를) 반환했습니다.
메시지 7391, 수준 16, 상태 2, 프로시저 test , 줄 62
연결된 서버 "A"의 OLE DB 공급자 "SQLNCLI"이(가) 분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다.
라는 오류가 뜨네요..
MSDTC 부분도 체크 다 했고,
MS에서 제공하는 DTCPing.exe 를 이용해 두 머신간 통신이 되는것도 확인을 했습니다.
음..
왜 그럴까요?? |