Linked Server를 이용한 작업 중 만난 에러 메세지...
OLE DB provider "SQLNCLI" for linked server "ServerName" returned message "The partner transaction manager has disabled its support for remote/network transactions.".
Msg 7391, Level 16, State 2, Line 82
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server " ServerName " was unable to begin a distributed transaction.
MS-DTC 에러가 났다.
MS-DTC 에러의 대부분은 MS-DTC 서비스가 정상적으로 동작하지 않을 경우에 발생한다.
Windows 2003 Server의 경우는 기본적으로 MS-DTC가 비활성화 되어 있다.
만약 MS-DTC가 비활성화 되어있다면 아래 항목을 살펴봐야 한다.
- 시작 > 관리도구 > 컴퍼넌트서비스(Components Services) > Computers > My Computer 의 등록정보
- MSDTC탭에서 맨 아래의 Security Configuration 클릭
- Network DTC Access 체크박스를 체크
- 인바운드 아웃바운드 허용 체크
- 인증 사용 안함 설정
- DTC Logon Account 가 NT AUTHORITY\NetworkService 로 되어있는지 확인
- 서버 재시작
이것으로 해결..되지 않는다면 방화벽 문제 컴퍼넌트 서비스가 사용하는 포트들 연결 되는지 확인해보고 오픈
다른 문제점으로 DB 연결 드라이버에서 DTC를 지원하지 않는 경우
OS와 SQL Server 설치 후 OS의 컴퓨터이름을 변경한 경우에 서버를 찾지 못하는 문제가 발생할 수 있다고 한다.
- select @@servername, SERVERPROPERTY('ServerName') 로 확인
이 경우 MS-DTC를 재설치 해주어야 한다.
ps. MS-DTC를 사용할 경우 SET XACT_ABORT ON 옵션을 같이 사용하도록 한다.
참고 : http://www.simpleisbest.net/archive/2005/07/04/173.aspx
'SQL Server' 카테고리의 다른 글
DB 이전 후 계정 변경 (0) | 2013.04.30 |
---|---|
SSIS를 이용하여 Excel 데이터 DB로 넣기 (0) | 2012.09.25 |
Index Rebuild (0) | 2012.07.19 |
2008 서버에서 성능데이터 SQL Server로 수집하기 (0) | 2012.05.21 |
MySQL DBLink (0) | 2012.04.05 |