반응형

Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점

 

·         Version : SQL Server 2012, 2014, 2016

 

SQL Server 2012부터 도입된 가용성 그룹(AG) SQL Server에서 제공할 있는 최고의 가용성을 보장하지만 구성이 까다로울 있다. 특히 다중 서브넷 환경에서 장애 조치를 구성하는 경우 예상치 못한 문제를 많이 겪을 있다. 필자 또한 단일 서브넷에서의 AG 경험은 있었지만 다중 서브넷 환경에서 구성 운영은 처음이어서 (Cloud  VM으로  다중 서브넷(Multi Region구성)  다양한 이슈를 겪고 있다.(기술적 이슈는 아님)

 

이번 이슈는 Multisubnet  AG구성을  구성한 환경에서 링크드 서버를 구성할때, Native Client 사용하였을 경우 Node 1에서 Node2 Failover되었을때 Node2번으로 접속하지 못하는 경우가 발생하였다.   문제를 해결하기 위해서는 ODBC 사용해서 링크드 서버를 구성해야 한다. 아래 구성받법을 참고해서 링크드 서버를 구성 있도록 한다.

 

ODBC 드라이버를 다운로드 받아 설치 한다. 이때 11버전 이상을 선택 한다. (SQL 2016 경우ODBC 드라이버 버전이 13이다.)

·         Microsoft® ODBC Driver 13 for SQL Server® - Windows + Linux

https://www.microsoft.com/en-us/download/details.aspx?id=50420

 

AG에서 사용할 ODBC 연결을 생성한다. System DSN 탭에서 연결을 생성한다.

 

 

Datasource ODBC Dirver 13 for SQL Server 선택한다.

 

ODBC에서 사용할 이름을 지정하고 Server 경우 AG 리스너 이름을 입력한다.

 

 

 

기술적으로는 로그인 비밀번호를 넣지 않아도 되지만 링크 서버에 사용할 로그인과 비밀번호를 사용하여 테스트 있다. 물론 계정 비밀번호는 저장되지 않는다.

 

 

마지막 단계에서Multisubnet failver 옵션을  체크한다. 기능이 Failover 되었을때 다른 노드로 연결을 시도한다.

 

ODBC 생성이 완료되었으면 SSMS에서 링크드를 구성한다. 공급자는 ODBC 드라이버를 선택한다. 그리고 Datasource부분에 ODBC에서 생성했던 ODBC 이름을 사용하여 링크드 서버를 구성한다.

 



[참고자료]

https://royalsql.com/2016/09/29/mayday-this-is-an-emergency-my-linked-server-is-using-odbc-to-connect-to-an-ag/

 

 

2017-08-15 / 강성욱 / http://sqlmvp.kr

 

SQL Server 2016, MS SQL , SQL Server Always On, AG 구성, 멀티서브넷 이중화, Linked Server, 링크드 서버, ODBC 링크드 구성


반응형

+ Recent posts