SQL Server 2017향상된 복제 기능 – 배포 데이터베이스의 AG 지원
· Version : SQL Server 2017 CU6
SQL Server 2017 CU6부터 SQL Server 복제 기능 향상으로 배포 데이터베이스가 가용성 그룹(AG)에 포함이 가능하게 되었다. 이 개선 사항은 향후 SQL Server 2016 및 2014에도 적용될 예정이다.
SQL Server는 가용성 그룹(AG)를 사용하여 SQL Server 인스턴스간에 데이터베이스 그룹에 대한 실시간 데이터 복제 기능을 제공한다. 가용성 그룹은 복제할 모든 데이터베이스가 하나의 가용성 단위로 포함되어 동작한다. AG 페일오버가 발생해도 SQL Server는 복제가 정상적으로 작동한다. 복제 게시 및 구독 데이터베이스는 가용성 그룹을 사용하도록 구성할 수 있지만 복제 배포 데이터베이스는 AG에 포함할 수 없었다. 이번 업데이트를 통해서 AG에 포함할 수 있게 되었다.
지원 기능
· 배포 데이터베이스가 AG에 포함되도록 구성
· AG 장애 조치 전후의 게시 및 구독과 같은 복제 구성
· 장애 조치 전과 후에 복제 작업이 작동
· 배포 데이터베이스가 AG에 있는 경우 배포자 및 게시자에서 복제 제거
· 기존 배포 데이터베이스 AG에 노드 추가 또는 제거
· 배포자는 여러 배포 데이터베이스를 가질수 있으며 각 배포 데이터베이스는 자체 AG에 있을 수 있으며 여러 배포 데이터베이스는 동일한 AG에 속할 수 있음
제약 사항
· 로컬 배포 지원되지 않음. 예를 들어 게시자와 배포자는 서로 다른 SQL Server 인스턴스여야 한다. 배포자로 자체 사용하는 게시자는 AG 배포 데이터베이스를 지원할 수 없음
· 병합복제 지원 안됨
· 즉시 또는 대기중인 업데이트 구독자가 있는 트랜잭션 복제는 지원되지 않음
· 피어 투 피어 복제는 지원 안됨
· 양방향 트랜잭션 복제는 지원 안됨
· 배포 데이터베이스 복제본을 호스팅하는 모든 SQL Server 인스턴스는 동일한 버전의 SQL Server (SQL Server 2017 CU6 이상) 사용 해야함
· 배포 데이터베이스 AG에는 수신기가 구성되어 있어야 함
· 배포 데이터베이스 AG의 보조 복제본은 동기식 또는 비동기식일 수 있는데 동기모드가 권장됨. 비동기 모드는 데이터 손실 및 동기화 문제가 발생할 수 있음
· 배포 데이터베이스 AG의 모든 복제본은 읽을 수 있어야 함. 이는 2차 복제본에서 실행해야하는 몇 가지 구성단계 때문이다.
· 배포 데이터베이스 AG의 모든 노드는 SQL Server 에이전트를 실행하는데 동일한 도메인 계정을 사용해야 하며 도메인 계정은 각 노드에 대해 동일한 권한을 가져야 함
· 복제 에이전트가 프록시 계정에서 실행되는 경우 프록시 계정은 배포 데이터베이스 AG의 모든 노드에 존재해야하며 각 노드에서 동일한 권한이 필요함
· 배포자를 변경하거나 배포 데이터베이스 속성을 변경해야하는 경우 배포 데이터베이스 AG에 참여하는 모든 복제본에서 이 작업을 수행해야함
· 게시자에서 배포자를 구성하려면 복제 마법사를 사용할 수 없으며 스크립트를 사용해야함
· 배포 데이터베이스용 AG구성은 스크립트를 통해서만 수행할 수 있음
· AG에 배포 데이터베이스를 설정하는 것은 새로운 복제 구성이어야 함. 기존 배포 데이터베이스를 AG로 전환하는것은 지원되지 않음. 또한 배포 데이터베이스를 AG에서 가져오면 더 이상 유요한 배포 데이터베이스로 작동 할 수 없으므로 삭제해야한다.
복제 기능 향상으로 가능 한 시나리오
· 복제 배포 데이터베이스의 고가용성 – 배포 데이터베이스는 복제 토폴로지의 핵심으로 배포 데이터베이스가 손실되면 전체 토폴로지가 변경사항 수신을 중지한다. 배포 서버는 SQL Server FCI 인스턴스로 보호할 수 있지만 로컬HA만 제공하는 사이트 DR은 제공하지 않는다. 사이트 DR을 달성하기 위해 현재 권장되는 솔루션은 지리적으로 분산된 장애조치 클러스터 인스턴스를 사용하여 저장소 수준의 복제를 사용하는 것이다. (SAN기반 복제 또는 Windows 2016 S2D 소프트웨어 기반의 SAN 복제)
· 업그레이드/마이그레이션 중단 최소화 – SQL Server 복제는 서버 이름에 크게 의존하기 때문에 복제 배포 데이터베이스를 호스팅하는 SQL Server 인스턴스를 업그레이드/마이그레이션 하려면 전체 복제 토폴로지를 다시 배포하거나 다시 설정해야 한다. 이는 상당한 가동 중지 시간을 필요하다. 이번 기능 향상으로 복제 토폴로지에서 SQL Server를 업그레이드하기 위한 가동 중지 시간과 복잡성을 최소화 할 수 있다.
· 기업 전체에 걸쳐 단일 HADR 솔루션 표준화 – Tier 1고객의 대다수는 SQL Server FCI가 유일한 옵션인 복제 배포 데이터베이스를 제외하고 HADR 요구사항에 맞는 솔루션으로 SQL Server 가용성 그룹을 표준화 하고 있다. 새로운 기능 향상으로 배포 데이터베이스를 AG에 포함하여 표준화가 가능하다.
[참고자료]
2018-06-07 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com
SQL Server, MS SQL, SQL replication, Replication Enhancement, SQL 복제, 배포 데이터베이스, SQL Server AG, Availability Group, HA
'SQL Server > SQL Server Tip' 카테고리의 다른 글
클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭 (0) | 2019.03.25 |
---|---|
SQL Server 2016 향상된 복제 기능 – 배포 데이터베이스 클린업 향상 (0) | 2019.03.25 |
SQL Server 2017 향상된 복제 기능 - 복제에이전트 프로필 매개변수의 동적 새로 고침 (0) | 2019.03.25 |
SQL Server update on Docker (0) | 2019.03.25 |
SQL Server 2017에서 향상된 UDF 실행 계획 (0) | 2019.03.25 |