본문 바로가기

MSSQL

LinkedServer 사용 시 distributed transaction error

반응형

링크드 서버 사용 시 에러

Linked Server 사용 시 distributed transaction 오류가 발생하는 경우가 있습니다.

에러 메시지는 아래와 같습니다.

 

Executed as user: xxxx. OLE DB provider "SQLNCLI11" for linked server "xxxx" returned message "The partner transaction manager has disabled its support for remote/network transactions.". [SQLSTATE 01000] (Message 7412) The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction. [SQLSTATE 42000] (Error 3930) The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction. [SQLSTATE 42000] (Error 3930) The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction. [SQLSTATE 42000] (Error 3930) The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "xxxx" was unable to begin a distributed transaction. [SQLSTATE 42000] (Error 7391). The step failed.

 

해결방법

해결방법은 관리도구 > 구성 요소 서비스(Component Services)를 선택합니다.

Local DTC Properties 의 Security 항목에 들어가서 위와 같이 체크를 해주시면 DTC서비스를 재시작하게 되고 이후에 정상적인 동작을 확인하실 수 있습니다.

 

함께 확인해야 하는 사항들

  1. MSCS로 구성된 경우 DTC 서비스에 해당하는 IP의 DTC 포트 및 RPC 포트 방화벽 오픈 확인
  2. 링크드 서버가 IP로 되어 있는 경우 Host File에 등록이 되어 있는지 확인
  3. DTCPing을 가지고 최종 확인

 

반응형