본문 바로가기

운영/SQL Server 설치

MS SQL 2012 Always On 구성 - 5. Routing Table

728x90

고가용성 및 부하 분산이라는 목적으로 MS SQL 2012의 Always On 기능을 사용하여, 아래와 같이 시스템을 구성하고자 합니다.

1. 읽기 전용 라우팅 URL을 지정

ALTER AVAILABILITY GROUP CNSQLTEST_AG
MODIFY REPLICA ON N'CNSQLTEST01' 
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://CNSQLTEST01.home.e-kmall.com:1433'));
ALTER AVAILABILITY GROUP CNSQLTEST_AG
MODIFY REPLICA ON N'CNSQLTEST02' 
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://CNSQLTEST02.home.e-kmall.com:1433'));

 

- 각 복제본에 대해 주 역할에 대한 읽기 전용 라우팅 목록을 지정

- 하나 이상의 서버 이름을 라우팅 대상으로 지정

ALTER AVAILABILITY GROUP CNSQLTEST_AG 
MODIFY REPLICA ON N'CNSQLTEST01' 
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('CNSQLTEST02','CNSQLTEST01')));
ALTER AVAILABILITY GROUP CNSQLTEST_AG 
MODIFY REPLICA ON N'CNSQLTEST02' 
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('CNSQLTEST01','CNSQLTEST02')));

 

2. 접속 테스트

 

- 반듯이 아래와 같이 연결할 데이터베이스를 명시해야합니다.

연결할 데이터베이스는 가용성그룹에 포함된 DB 중에 하나여야 합니다.

그렇지 않을 경우 매번 주서버로 연결이 되는 일이 발생합니다.

 

- ApplicationIntent=ReadOnly 옵션을 줄 경우 Read-Only 노드로 접속

3. Application에서 Read-Only 접속

 

- SQL Server Native Client 사용

Server=tcp:AGListener,1433;Database=AdventureWorks;IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly

 

- Microsoft JDBC Driver 사용

jdbc:sqlserver://AGListener:1433;databaseName=AdventureWorks;integratedSecurity=true;applicationIntent=ReadOnly;

 

- ODBC Driver on Linux 사용

Driver='ODBC Driver 11 for SQL Server';Server= AGListener; Database=AdventureWorks;Encrypt=YES;TrustServerCertificate=YES;ApplicationIntent=ReadOnly;

728x90