고가용성 및 부하 분산이라는 목적으로 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;
'운영 > SQL Server 설치' 카테고리의 다른 글
Installing SQL Server 2008 R2 on Windows 2012 cluster (0) | 2019.06.30 |
---|---|
MS SQL 2012 Always On + Windows 2008 R2 SP1 구성 후 패치 (0) | 2014.08.10 |
MS SQL 2012 Always On 구성 - 4. Listener 생성 (0) | 2014.04.04 |
MS SQL 2012 Always On 구성 - 3. Availability Groups 구성 (0) | 2014.04.03 |
MS SQL 2012 Always On 구성 - 2. MS SQL 설치 (0) | 2014.04.03 |