데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

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 링크드 구성



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp
No. Subject Author Date Views
2110 SQL Server 2016 Large RAM 및 Checkpoint jevida(강성욱) 2018.03.31 2036
2109 SQL Server 2016 JSON 형식을 일반 ROW 형식으로 반환하 jevida(강성욱) 2018.03.31 1634
2108 model Database 손상시 발생하는 영향 및 복구 방법 jevida(강성욱) 2018.03.31 1181
2107 In-Memory OLTP 사용시 메모리 할당량 초과 오류 jevida(강성욱) 2017.09.13 6745
2106 SQL Server 2016 쿼리 실행에 대한 각 스레드(오퍼레이터) 성능 통계 jevida(강성욱) 2017.09.13 7050
» Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점 jevida(강성욱) 2017.09.13 5909
2104 SQL Linux에서 Job Agent 설치 jevida(강성욱) 2017.09.13 5948
2103 SQL Linux에서 Windows SQL 백업 파일 복원 jevida(강성욱) 2017.09.13 5917
2102 Linux에서 Network I/O 확인 jevida(강성욱) 2017.09.13 6249
2101 SQL Linux에서traceflag 활성화 jevida(강성욱) 2017.09.13 5632
2100 SQL Linux에서 dump file 위치 변경 jevida(강성욱) 2017.09.13 5402
2099 SQL Linux에서 Port 변경 jevida(강성욱) 2017.09.13 6195
2098 Linux에서 DISK 공간 확인 jevida(강성욱) 2017.09.13 5608
2097 SQL Linux에서collation 변경 jevida(강성욱) 2017.09.13 3529
2096 SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경 jevida(강성욱) 2017.09.13 3868
2095 SQL Linux 기본Configure 명령 jevida(강성욱) 2017.09.13 3407
2094 SQL Linux에서 기본 백업 디렉토리 변경 jevida(강성욱) 2017.09.13 3832
2093 Linux에서 DISK I/O 사용량 확인 jevida(강성욱) 2017.09.13 3710
2092 Linux에서 CPU 사용량 확인 jevida(강성욱) 2017.09.13 2215
2091 SQL Linux에서 SQL Server 시작, 중지, 활성, 비활성 jevida(강성욱) 2017.09.13 1452





XE Login