지정된 데이터베이스를 미러링하거나 로그를 발송할 수 있습니다. 동시에 미러링되고 로그가 제공될 수도 있습니다. 사용할 방법을 선택하려면 다음을 고려하세요.
필요한 대상 서버는 몇 대입니까?
단일 대상 데이터베이스만 필요한 경우 데이터베이스 미러링이 권장되는 솔루션입니다.
둘 이상의 대상 데이터베이스가 필요한 경우 단독으로 또는 데이터베이스 미러링과 함께 로그 전달을 사용해야 합니다. 이러한 접근 방식을 결합하면 로그 전달에서 제공하는 여러 대상에 대한 지원과 함께 데이터베이스 미러링의 이점을 얻을 수 있습니다.
대상 데이터베이스에서 로그 복원을 지연해야 하는 경우(일반적으로 논리적 오류로부터 보호하기 위해) 로그 전달만 사용하거나 데이터베이스 미러링을 사용합니다.
이 항목에서는 로그 전달 및 데이터베이스 미러링을 결합하기 위한 고려 사항에 대해 설명합니다.
비고
이러한 기술에 대한 소개는 데이터베이스 미러링(SQL Server) 및 로그 전달 정보(SQL Server)를 참조하세요.
로그 전달 및 데이터베이스 미러링 결합
미러링 세션의 주 데이터베이스는 로그 전달 구성에서 주 데이터베이스로 작동하거나 로그 전달 백업 공유가 그대로 유지되므로 그 반대의 경우도 마찬가지입니다. 데이터베이스 미러링 세션은 동기(트랜잭션 안전이 FULL로 설정됨) 또는 비동기(트랜잭션 안전이 OFF로 설정됨)이든 관계없이 모든 운영 모드에서 실행됩니다.
비고
데이터베이스에서 데이터베이스 미러링을 사용하려면 항상 전체 복구 모델이 필요합니다.
일반적으로 로그 전달 및 데이터베이스 미러링을 결합할 때는 필요하지 않지만 로그 전달 전에 미러링 세션이 설정됩니다. 그런 다음 현재 주(프라이머리) 데이터베이스는 하나 이상의 원격 보조 데이터베이스와 함께 로그 배송 주 데이터베이스로 구성됩니다. 또한 미러 데이터베이스는 로그 전달 주 데이터베이스( 미러/주 데이터베이스)로 구성해야 합니다. 로그 전달 보조 데이터베이스는 주 서버/주 서버 또는 미러/주 서버와 다른 서버 인스턴스에 있어야 합니다.
비고
로그 전달과 관련된 서버의 대/소문자 구분 설정이 일치해야 합니다.
로그 전달 세션 중에 주 데이터베이스의 백업 작업은 백업 폴더에 로그 백업을 만듭니다. 여기에서 백업은 보조 서버의 복사 작업에 의해 복사됩니다. 백업 작업 및 복사 작업이 성공하려면 로그 전달 백업 폴더에 액세스할 수 있어야 합니다. 주 서버의 가용성을 최대화하려면 별도의 호스트 컴퓨터의 공유 백업 위치에 백업 폴더를 설정하는 것이 좋습니다. 미러/주 서버를 포함한 모든 로그 전달 서버가 공유 백업 위치( 백업 공유라고 함)에 액세스할 수 있는지 확인합니다.
데이터베이스 미러링이 장애 조치된 후에도 로그 전달을 계속하려면 주 데이터베이스의 주 데이터베이스에 사용하는 것과 동일한 구성을 사용하여 미러 서버를 주 서버로 구성해야 합니다. 미러 데이터베이스가 복원 중 상태이므로 백업 작업이 미러 데이터베이스의 로그를 백업하지 못하게 합니다. 이렇게 하면 미러/기본 데이터베이스가 현재 보조 서버에서 로그 백업을 복사하고 있는 주 데이터베이스를 방해하지 않습니다. 가짜 경고를 방지하기 위해 백업 작업이 미러/주 데이터베이스에서 실행된 후 백업 작업은 log_shipping_monitor_history_detail 테이블에 메시지를 기록하며 에이전트 작업은 성공 상태를 반환합니다.
로그 전달 세션에서 미러/주 데이터베이스가 비활성 상태입니다. 그러나 미러링이 장애 조치되면 이전 미러 데이터베이스가 주 데이터베이스로 온라인 상태가됩니다. 이 시점에서 해당 데이터베이스는 로그 전달 주 데이터베이스로도 활성화됩니다. 이전에 해당 데이터베이스에 로그를 발송할 수 없었던 로그 전달 백업 작업은 로그 전달을 시작합니다. 반대로 장애 조치(failover)로 인해 이전 주 데이터베이스가 새 미러 데이터베이스가 되고 복원 상태에 들어가며, 해당 데이터베이스에서 백업 작업이 중단되어 로그 백업이 중단됩니다.
비고
자동 장애 조치가 발생하는 경우, 이전 주 데이터베이스가 미러링 세션에 다시 참가할 때 미러 역할로 전환됩니다.
고안된 "witness" 서버 인스턴스를 통해 자동 장애 조치 기능을 사용하는 고안전 모드에서 실행되도록 미러링 세션을 구성합니다. 데이터베이스가 동기화된 후 어떤 이유로든 주 데이터베이스가 손실되고 미러 서버와 감시 서버가 여전히 서로 통신할 수 있는 경우, 자동 장애 조치(failover)가 발생합니다. 자동 장애 조치(페일오버)를 사용하면 미러 서버가 주 서버 역할을 맡고 데이터베이스를 주 데이터베이스로 온라인으로 전환시킵니다. 새 주 서버/기본 서버가 로그 전달 백업 위치에 액세스할 수 있는 경우, 백업 작업이 해당 위치로 로그 백업을 전송하기 시작합니다. 데이터베이스 미러링 동기 모드는 로그 체인이 미러링 장애 조치(failover)의 영향을 받지 않고 유효한 로그만 복원되도록 보장합니다. 보조 서버는 다른 서버 인스턴스가 주 서버가 되었음을 모르고 로그 백업을 계속 복사합니다.
로컬 로그 전달 모니터를 사용하는 경우 이 시나리오를 수용하기 위해 특별한 고려 사항이 필요하지 않습니다. 이 시나리오에서 원격 모니터링 인스턴스를 사용하는 방법에 대한 자세한 내용은 이 항목의 뒷부분에 있는 "원격 모니터링 인스턴스에 대한 데이터베이스 미러링의 영향"을 참조하세요.
주 데이터베이스에서 미러 데이터베이스로 장애 조치
다음 그림에서는 고안전 모드에서 자동 장애 조치를 사용하여 미러링을 실행할 때 로그 전달과 데이터베이스 미러링이 함께 작동하는 방법을 나타냅니다. 처음에는 Server_A 미러링의 주 서버이자 로그 전달을 위한 주 서버입니다. Server_B 미러 서버이며 현재 비활성 상태인 주 서버로도 구성됩니다. Server_C 및 Server_D 로그 전달 보조 서버입니다. 로그 전달 세션의 가용성을 최대화하기 위해 백업 위치는 별도의 호스트 컴퓨터의 공유 디렉터리에 있습니다.
미러링 장애 조치(failover) 후 보조 서버에 정의된 주 서버 이름은 변경되지 않습니다. .
원격 모니터링 인스턴스에 대한 데이터베이스 미러링의 영향
로그 전달이 원격 모니터링 인스턴스와 함께 사용되는 경우 로그 전달 세션과 데이터베이스 미러링을 결합하면 모니터 테이블의 정보에 영향을 줍니다. 주 서버에 대한 정보는 주 서버에 구성된 것과 각 보조 서버에 구성된 모니터의 조합입니다.
모니터링을 최대한 원활하게 유지하려면 원격 모니터를 사용하는 경우 보조 모니터에서 기본 모니터를 구성할 때 원래의 기본 이름을 지정하는 것이 좋습니다. 이 방법을 사용하면 Microsoft SQL Server 에이전트에서 로그 전달 구성을 쉽게 변경할 수 있습니다. 모니터링에 대한 자세한 내용은 로그 전달 모니터링(Transact-SQL)을 참조하세요.
미러링 및 로그 전달 설정
데이터베이스 미러링 및 로그 전달을 함께 설정하려면 다음 단계가 필요합니다.
NORECOVERY 옵션을 사용하여 주 데이터베이스/기본 데이터베이스의 백업을 다른 서버 인스턴스에 복원하여 이후 주 데이터베이스/기본 데이터베이스의 데이터베이스 미러링용 미러 데이터베이스로 사용합니다. 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)를 참조하세요.
데이터베이스 미러링을 설정합니다. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 세션 설정(SQL Server Management Studio) 또는 데이터베이스 미러링 설정(SQL Server)을 참조하세요.
기본 데이터베이스의 백업을 나중에 기본 데이터베이스의 로그 전달 보조 데이터베이스로 사용할 다른 서버 인스턴스로 복원합니다.
주 데이터베이스를 하나 이상의 보조 데이터베이스에 대한 기본 데이터베이스로 설정하여 로그 전달을 구성합니다.
단일 공유를 백업 디렉터리(백업 공유)로 설정해야 합니다. 이렇게 하면 주 서버와 미러 서버 간에 역할이 전환된 후에도 백업 작업이 이전과 동일한 디렉터리에 계속 기록됩니다. 가장 좋은 방법은 이 공유가 미러링 및 로그 전달과 관련된 데이터베이스를 호스팅하는 서버와 다른 물리적 서버에 있는지 확인하는 것입니다.
자세한 내용은 로그 전달 구성(SQL Server)을 참조하세요.
주 서버에서 미러로 수동 장애 전환합니다.
수동 장애 조치(failover)를 수행하려면:
새로운 주체(이전에 미러였던)에서 주 서버로 로그 전달을 설정합니다.
중요합니다
보조 장치에서 설치를 수행하지 마세요.
4단계에서 사용한 것과 동일한 백업 공유를 사용해야 합니다.
SQL Server Management Studio의 트랜잭션 로그 전달 인터페이스는 로그 전달 구성당 하나의 주 데이터베이스만 지원합니다. 따라서 저장 프로시저를 사용하여 새 주체를 기본 주체로 설정해야 합니다.
다른 수동 장애 조치를 수행하여 원래 주 서버로 장애 복구합니다.