본문 바로가기
프로그래밍/TSQL

[MSSQL]OPENQUERY 실패 (해결)

by 정리 습관(★arranging★) 2021. 6. 16.
728x90

GEOMETRY 포함 대상 서버만 세션이 끊기며 실패됨

문제상황.

mssql 2012 서버 11.0.70001.0 버전에서 연결된 서버 mssql 2008(10.50.1600.1) 버전으로 linked server 구성.
BCP 정상, OPENQUERY 일반 속성값은 정상으로 조회 되지만 geometry 를 포함한 경우 위 캡처와 같은 메시지가 발생하며 세션이 끊어짐 

해결. MSSQL SERVER 패치 설치.
서버 버전별 패치 현황 페이지 참고하여 11.0에서 11.50으로 업그레이드 후 현상 발생하지 않음
(https://docs.microsoft.com/ko-kr/troubleshoot/sql/general/determine-version-edition-update-level)

확인 및 시도.
1. 분산 트랜잭션 설정 : 구성요소 서비스 - 보안구성

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

구성참고

2. linked 서버 재구성
3. msdtc.exe 보안 설정 추가
4. 방화벽 해제

 

geometry 포함 컬럼만 안된다는 점이 이상해서 혹시나했었는데.. 역시 SQL 서버는 여전히 버그가...
Windows 업데이트 패치 업데이트는 꼭꼭 꾸준히 해줘야할듯합니다.

 

Problematic situation.

Configure linked server from mssql 2012 server 11.0.70001.0 to connected server mssql 2008 (10.50.1600.1).
BCP OK, OPENQUERY General property values are queried OK, but with geometry, a message such as capture above occurs and the session is lost

Resolution, installing the MSSQL SERVER patch.
Refer to patch status page by server version and do not occur after upgrading from 11.0 to 11.50
(https://docs.microsoft.com/ko-kr/troubleshoot/sql/general/determine-version-edition-update-level)
Check and try.
1. Distributed Transaction Settings: Component Services - Security Configuration

The requested operation could not be performed because the OLE DB provider "SQLNCLI" on the connected server "SOURCE" could not start a distributed transaction.

Configuration Notes
2. Reconfigure linked server
3. Add msdtc.exe security settings
4. Firewall Off



I thought it was weird that the column with geometry wasn't working. As expected, SQL Server is still buggy...
Windows Update patch update is a must.

댓글