SQL Server 2016 가용성 그룹에서 새로운 기능 중 Active Directory 서비스 없이 클러스터를 구축하고 가용성 그룹을 사용할 수 있는 기능이다. 이 기능은 이미 SQL 데이터베이스 미러링에서 사용한 기술이므로 익숙할 듯 싶다. 각 노드가 도메인 가입없이 Workgroup 환경에서 가용성 그룹을 만드는 방법에 대하여 알아보자. [LAB 결과] SQL 데이터베이스 미러링과 같은 방식으로 구성한다. 복제본이 2개로 제한되지 않을까? - Endpoint 인증의 한계일듯 가용성 그룹의 BAG 구성의 적합도 기능으로 나왔을 가능성이 있음. 가용성 그룹의 멀티 가용성그룹으로 구성이 가능하다. 수신기를 만들 수 있으나 동작은 하지 못한다. [LAB] #.1 각 노드의 클러스터 기능 설치 #.2 Pr..
가용성그룹은 기본적으로 2개 이상의 복제본이 있어야 구성이 가능하다. SSMS에서 가용성그룹 마법사를 통해서 구성을 할 경우에는 무조건 보조 복제본을 추가를 해야 구성이 가능하다. 아래와 같이 보조 복제본을 추가를 하지 않으면 [다음] 버튼이 활성화가 되지 않는다. 하지만 T-SQL로 생성을 하면 1개의 주 복제본만 있어도 구성이 가능하다. CREATE AVAILABILITY GROUP [SingleAG] WITH (DB_FAILOVER= ON) FOR REPLICA ON N'SQL2016-AG1' WITH ( ENDPOINT_URL = N'TCP://SQL2016-AG1.overtop.local:5022', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = ASYNCHRON..
분산된 가용성그룹이 복잡하게 느껴질 것이다. 어찌 보면 단순하지만 복잡하다. 그럼 분산된 가용성그룹의 장애조치는 어떻게 할까? 주 가용성그룹(주 클러스터 환경)이 장애가 발생될 경우에 보조 가용성그룹(보조 클러스터환경)으로 장애조치를 해야 한다. 장애조치 하는 방법은 간단하다. T-SQL만 지원하는것 같다. /* 분산 가용성 그룹의 장애조치 하는 방법 */ -- 1. 보조 가용성 그룹에 대해 가용성 모드를 동기 커밋으로 설정합니다. -- 왜 ?? 생각해봐라. ALTER AVAILABILITY GROUP [distributedag] MODIFY AVAILABILITY GROUP ON 'AG-Seeding' WITH ( LISTENER_URL = 'tcp://AGSeedLsn:5022', AVAILABILI..
[참고문서] 분산된 가용성 그룹(Always On 가용성 그룹) https://msdn.microsoft.com/ko-kr/library/mt651673.aspx 분산된 가용성 그룹을 사용하면 서로 다른 Windows Server 장애 조치 클러스터(WSFC)에 있는 두 가용성 그룹을 연결할 수 있습니다. 분산된 가용성 그룹 배포의 주요 용도 중 하나는 기본 사이트가 DR 사이트로부터 지리적으로 분산된 곳의 문제 해결를 위한 것입니다. One of the main uses of Distributed Availability Groups is for disaster recovery where the primary site is geographically dispersed from the DR site. 원하..
로드밸런싱 그룹핑을 통해서 부하분산 확장을 할 수 있다. 그룹핑을 수정을 하고 싶을 때 어떻게 할까? 간단하다. 기존 구성은 그대로 두고 그룹핑하는 쿼리만으로 수정이 가능하다. 현재구성은 아래와 같이 주서버 + 보조서버 3개를 모두 그룹핑 하였다. -- 보조 복제본 2,3,4를 모두 LB 구성, 3개 모두 복제복이 비정상일 경우에는 1번으로 연결한다는 정의 ALTER AVAILABILITY GROUP [AG-GroupNameTSQL] MODIFY REPLICA ON N'AG2016-S1\AG1' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(('AG2016-S4\AG4','AG2016-S3\AG3', 'AG2016-S2\AG2'), 'AG2016-S1\AG1'))); 아래..
SQL Server 2014 이하에서는 Read-Only Routing(읽기 전용 라우팅) 을 지원하고 있으며, 이 기능은 첫번째 설정한 보조복제본으로만 접근이 계속되는 문제가 있었다. 첫번째 설정한 보조복제본에 장애가 발생할 경우에만 두번째 설정한 보조복제본으로 접근이 가능하다. 이 기능을 개선한 SQL Server 2016에서는 Load Balanced Read-Only Routing으로 개선하였다. 일단, 해보자. (나의 이상이다) #. SQL Server 2016 Load Balanced Read-Only Routing(로드밸런싱 읽기전용 라우팅 ??) 설정하기 [환경설정] 2개의 가용성데이터베이스를 추가하여 그룹을 생성한다. 리스너를 생성해야 된다. 리스터 접속테스트 쿼리로만 구성이 가능하다. ..
SQL Server 2016 가용성그룹에서 향상된 기능 중에 자동장애조치 노드수가 늘어났다. 이전까지는 2개의 복제본까지만 구성 가능했으나, SQL Server 2016에서는 3개 복제본까지 구성이 가능하다. Bug 성 이슈 확인인가 ~~~~ SQL Server 2014 AG 에서 자동 장애조치 모드 변경했을 경우에 특이한 현상이 발생한다. 노드 4개 장애조치 모드가 모두 수동인 상태에서 3개를 자동으로 변경을 하면 오류 메시지를 뱉는다. 아래와 같이 3개를 자동으로 변경한다. 확인을 누르면 아래와 같이 자동장애조치는 최대 2개로 제한된다. 오류 메시지 창에서 확인을 누르고 변경창에서 취소를 누르고 다시 속성을 보면 희한한 일이 발생한다. AG1, AG3 번이 [자동]으로 변경이 되어 있다. 먼일이지 ?..
SQL Server 2016 가용성그룹에서 향상된 기능 중에 자동장애조치 노드수가 늘어났다. 이전까지는 2개의 복제본까지만 구성 가능했으나, SQL Server 2016에서는 3개 복제본까지 구성이 가능하다. 현재 복제본은 4개로 구성된 환경이다. 위 환경에서 AG2016-S4 복제본의 설정을 Failover Mode 자동으로 수정하게 되면 4개의 자동장애조치 설정이므로 아래와 같이 오류가 발생한다. [3개의 장애조치 동작 방식] 아래와 같이 자동장애조치 노드가 3개까지 설정이 가능하다. 위 환경에서 AG1 인스턴스를 중지해보자. 그럼 AG2016-S2, AG2016-S3 둘 중 한 개 복제본으로 Primary 역할이 자동장애조치가 된다. 수행하면 AG2016-S2 으로 역할이 이동 된다. 왜 3번으로 ..
2개의 복제본으로 운영하다가 1개이상의 복제본을 추가하고 싶을때 어떻게 할까? 기존 운영하는 데이터베이스에 영향이 없이 복제본 추가를 할 수 있을까? #. SQL Server 2016 가용성 그룹 복제본 추가하는 방법. 추가 복제본은 AG2, AG3 추가를 한다. 이미 구성된 복제본의 설정정보는 수정이 불가능하다. [결과] 이슈 없이 추가 된다. 추가 시 기존 SQL 서비스에는 영향이 없는 듯 싶다. 단. 데이터동기화 방식을 전체로 하면 주 복제본의 백업시 I/O성능이 약간 발생할 소지는 있을 것 같다. 그냥. 데이터동기화 방식을 전체(Full) 로 설정하게 되면 백업폴더에 백업파일이 생긴다. BackupLoc… 로 시작하는 파일은 뭐지 ???
SQL Server 2016 AG에 추가된 기능인 Database Level Health Detection(데이터베이스 수준 상태 검색)을 테스트를 해봤다. [테스트 결과] SQL Server 2016 AG에서는 가용성데이터베스가 Pending 상태가 되면 자동장애조치가 된다. 단, "가용성그룹의 모든 데이터베이스가 그 상태이어야 한다" 가정이었으나 테스트 결과 가용성그룹에 1개의 데이터베이스만 있을 경우에 자동장애조치가 발생하고, 다수 존재시 구동 되지 않았다. 2014AG는 자동장애조치가 발생하지 않는다. Database Level Health Detection 이란 기능에 대해서 좀 더 확인이 필요할 것 같다. 괜히 사용했다가 더 심각한 상황이 될 수도 있을 것 같다. 어떤 상황에 해당 기능이 구현..
- Total
- Today
- Yesterday