이 페이지에서는 SQL Server의 Always-On 가용성 그룹이 무엇인지, Datastream이 장애 조치 및 데이터 복구 시나리오에서 이를 어떻게 지원하는지 설명합니다.
Always On 가용성 그룹 개요
SQL Server에서 Always On 가용성 그룹은 재해 복구 시나리오를 위해 데이터베이스를 준비할 수 있는 고가용성 솔루션입니다.
Always On 가용성 그룹은 비즈니스의 데이터베이스 가용성을 극대화합니다. 가용성 그룹은 가용성 데이터베이스라고 하는 선택된 데이터베이스 집합의 복제된 환경을 지원합니다. 각 그룹에는 읽기 및 쓰기 작업을 위한 기본 데이터베이스 세트 하나와 최대 8개의 해당 보조 데이터베이스 세트가 포함됩니다. 보조 데이터베이스는 선택적으로 읽기 전용 액세스 또는 백업 작업을 허용할 수 있습니다.
Always On 가용성 그룹에 대한 자세한 내용은 SQL Server 문서의 Always On 가용성 그룹이란 무엇인가요?를 참고하세요.
SQL Server 인스턴스의 Always On 가용성 그룹 필수 요건에 대한 자세한 내용은 SQL Server 문서를 참고하세요.
Always On 가용성 그룹과 함께 사용할 Datastream 구성
Datastream은 변경 테이블 CDC 메서드를 사용하여 synchronous-commit 가용성 모드를 지원합니다. 이 모드에서는 데이터 동기화가 중지될 때까지 보조 데이터베이스가 해당 기본 데이터베이스와 동기화된 상태로 유지됩니다. 트랜잭션 확인은 보조 복제본이 수신 트랜잭션 로그 레코드를 디스크에 쓸 때만 클라이언트에 전송됩니다.
가용성 모드에 대한 자세한 내용은 Always On 가용성 그룹의 가용성 모드 간 차이점을 참고하세요.
Always On 가용성 그룹과 함께 사용하도록 SQL Server 인스턴스를 구성하려면 장애 조치가 발생할 때 로그를 캡처하도록 SQL Server 에이전트를 사용 설정한 후 정리 작업을 실행해야 합니다. 이렇게 하려면 현재 복제본이 실제로 기본인지 확인하도록 CDC 에이전트 작업 단계를 수정해야 합니다. 이 작업은 sys.fn_hadr_is_primary_replica 함수를 사용하여 실행됩니다.
다음 명령어를 사용하여 인스턴스를 설정합니다.
-- Check if the current replica is a primary for the corresponding database.
USE [DATABASE_NAME];
DECLARE @DatabaseName SYSNAME = DB_NAME();
IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
BEGIN
-- If the replica isn't a primary, the code block that follows is skipped
EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
END
다음 단계
- Datastream의 SQL Server 소스 작동 방법 자세히 알아보기