SQL Server 로그 전달을 사용하면 주 서버 인스턴스의 주 데이터베이스에서 별도의 보조 서버 인스턴스에 있는 하나 이상의 보조 데이터베이스로 트랜잭션 로그 백업을 자동으로 보낼 수 있습니다. 트랜잭션 로그 백업은 각 보조 데이터베이스에 개별적으로 적용됩니다. 모니터 서버라고 하는 선택적 세 번째 서버 인스턴스는 백업 및 복원 작업의 기록 및 상태를 기록하고, 필요에 따라 이러한 작업이 예약된 대로 수행되지 않으면 경고를 발생합니다.
이점
SQL Server의 개별 인스턴스에서 각각 단일 주 데이터베이스와 하나 이상의 보조 데이터베이스에 대한 재해 복구 솔루션을 제공합니다.
보조 데이터베이스에 대한 제한된 읽기 전용 액세스를 지원합니다(복원 작업 사이의 간격 동안).
주 서버가 주 데이터베이스의 로그를 백업할 때와 보조 서버가 로그 백업을 복원(적용)해야 하는 시점 사이의 사용자 지정 지연을 허용합니다. 예를 들어 주 데이터베이스에서 데이터가 실수로 변경되는 경우 더 긴 지연이 유용할 수 있습니다. 실수로 변경된 내용을 빨리 발견하면 변경 내용이 반영되기 전에 보조 데이터베이스에서 아직 변경되지 않은 데이터를 지연 덕분에 검색할 수 있습니다.
용어 및 정의
주 서버: 프로덕션 서버인 SQL Server의 인스턴스입니다.
주 데이터베이스: 다른 서버에 백업하려는 주 서버의 데이터베이스입니다. SQL Server Management Studio를 통한 로그 전달 구성의 모든 관리는 주 데이터베이스가 수행합니다.
보조 서버: 주 데이터베이스의 웜 대기 복사본을 보관하려는 SQL Server 인스턴스입니다.
보조 데이터베이스: 주 데이터베이스의 웜 대기 복사본입니다. 보조 데이터베이스는 RECOVERING 상태 또는 STANDBY 상태일 수 있으며, 이 경우 데이터베이스는 제한된 읽기 전용 액세스로만 사용할 수 있습니다.
모니터 서버: 다음과 같은 로그 전달의 모든 세부 정보를 추적하는 SQL Server의 선택적 인스턴스입니다.
주 데이터베이스의 트랜잭션 로그가 마지막으로 백업된 경우
보조 서버가 백업 파일을 마지막으로 복사하고 복원한 시간
백업 실패 경고에 대한 정보
중요
모니터 서버를 구성한 후에는 로그 전달을 먼저 제거하지 않으면 모니터 서버를 변경할 수 없습니다.
백업 작업: 백업 작업을 수행하고, 로컬 서버와 모니터 서버에 기록을 로그하고, 오래된 백업 파일과 기록 정보를 삭제하는 SQL Server 에이전트 작업입니다. 로그 전달을 설정하면 주 서버 인스턴스에 "로그 전달 백업" 작업 범주가 생성됩니다.
복사 작업:주 서버에서 보조 서버의 구성 가능한 대상으로 백업 파일을 복사하고 보조 서버와 모니터 서버에 내역을 기록하는 SQL Server 에이전트 작업입니다. 데이터베이스에서 로그 전달을 설정하면 로그 전달 구성의 각 보조 서버에 "로그 전달 복사" 작업 범주가 생성됩니다.
복원 작업: 복사한 백업 파일을 보조 데이터베이스로 복원하는 SQL Server 에이전트 작업입니다. 로컬 서버와 모니터 서버에 작업을 기록하고 오래된 백업 파일과 기록 정보를 삭제합니다. 데이터베이스에서 로그 전달을 설정하면 보조 서버 인스턴스에 "로그 전달 복원" 작업 범주가 생성됩니다.
경고 작업:지정한 임계값 내에 백업 및 복원 작업이 완료되지 않을 때 주 데이터베이스 및 보조 데이터베이스에 대한 경고를 생성하는 SQL Server 에이전트 작업입니다. 데이터베이스에서 로그 전달을 설정하면 모니터 서버 인스턴스에 "로그 전달 경고" 작업 범주가 생성됩니다.
팁
각 경고마다 경고 번호를 지정해야 합니다. 또한 경고가 발생할 때 운영자에게 알리도록 경고를 구성해야 합니다.
로그 전달 개요
로그 전달은 다음 세 가지 작업으로 구성됩니다.
주 서버 인스턴스에서 트랜잭션 로그를 백업합니다.
트랜잭션 로그 파일을 보조 서버 인스턴스에 복사합니다.
보조 데이터베이스 인스턴스에서 로그 백업을 복원합니다.
로그는 여러 보조 서버 인스턴스로 전달될 수 있습니다. 이러한 경우 각 보조 서버 인스턴스에 대해 작업 2와 3이 중복됩니다.
로그 전달 구성은 주 서버에서 보조 서버로 자동으로 장애 조치(failover)되지 않습니다. 주 데이터베이스를 사용할 수 없을 경우 수동으로 임의의 보조 데이터베이스를 온라인 상태로 전환할 수 있습니다.
보조 데이터베이스를 보고 용도로 사용할 수 있습니다.
또한 로그 전달 구성에 대한 경고를 구성할 수 있습니다.
일반적인 로그 전달 구성
다음 그림에서는 주 서버 인스턴스, 보조 서버 인스턴스 3개 및 모니터 서버 인스턴스로 이루어진 로그 전달 구성을 보여 줍니다. 이 그림에서는 다음과 같이 백업, 복사 및 복원 작업에서 수행하는 단계를 보여 줍니다.
주 서버 인스턴스는 백업 작업을 실행하여 주 데이터베이스의 트랜잭션 로그를 백업합니다. 그런 다음 이 서버 인스턴스는 백업 폴더로 보내는 기본 로그 백업 파일에 로그 백업을 배치합니다. 이 그림에서 백업 폴더는 공유 디렉터리-backup share에 있습니다.
3개의 보조 서버 인스턴스는 각각 자체 복사 작업을 실행하여 주 로그 백업 파일을 로컬 대상 폴더로 복사합니다.
각 보조 서버 인스턴스는 자체 복원 작업을 실행하여 로컬 대상 폴더에서 로컬 보조 데이터베이스로 로그 백업을 복원합니다.
주 서버 인스턴스와 보조 서버 인스턴스는 자체 기록 및 상태를 모니터 서버 인스턴스로 보냅니다.
Always On 가용성 그룹 및 데이터베이스 미러링은 상호 배타적입니다. 이러한 기능 중 하나에 대해 구성된 데이터베이스는 다른 기능에 대해 구성할 수 없습니다.
주의
알려진 문제: 메모리 최적화 테이블이 있는 데이터베이스의 경우 복구 없이 트랜잭션 로그 백업을 수행한 후 나중에 복구를 사용하여 트랜잭션 로그 복원을 실행하면 데이터베이스 복원 프로세스가 응답하지 않을 수 있습니다. 이 문제는 로그 전달 기능에도 영향을 줄 수 있습니다. 이 문제를 해결하려면 복원 프로세스를 시작하기 전에 SQL Server 인스턴스를 다시 시작할 수 있습니다.