본문 바로가기
IT Trouble Shooting

MS SQL Database, SQLNCLI11 분산 트랜잭션 오류

2020. 12. 18.

 증상

 

DB와 연동된 웹 서비스에서 아래의 오류가 발생했습니다.

 

연결된 서버 "xxxx"의 OLE DB 공급자 "SQLNCLI11"이(가) 분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다.

 

환경

Windows Server 2019

SQL Server 2019 Stadard

 

 원인

 

분산 트랜잭션 기능이 꺼져있거나 해당 기능에 대해 네트워크 접근이 차단됐을 수 있습니다. 

기본적으로 네트워크 DTC 접근 기능은 비활성화 되어 있습니다. 그래서 해당 기능의 활성화 및 방화벽 점검이 필요합니다.

 

 

 

 조치

 

1. 구성요소 서비스 실행. 실행 창에 'dcomcnfg' 입력 후, 구성요소 서비스를 실행합니다.

 

반응형

 

 

2. MSDTC 기능 활성화. [Component Services] - [Computers] 아래의 'My Computer' 속성을 열어 [MSDTC] 탭 아래의 'Use local coordinator'를 활성화합니다. 

 

3. DTC 설정. [Component Services] - [Computers] - [My Computer] - [Distributed Transaction Coordinator] - 'Local DTC' 속성을 열어 [Security] 탭 아래의 옵션을 아래 그림과 동일하게 설정합니다. 

 

 

4. 방화벽 설정. 방화벽 고급 설정에서  [Inbound Rules], [Outbound Rules] 에서 각각 'Distributed Transaction Coordinator(TCP-In)/(TCP-Out) 항목을 활성화 합니다.

 


위의 조치이후 에러 없이 동작하는 것을 확인할 수 있습니다.

반응형

댓글