로그 전달 이해
로그 전달을 사용하면 주 서버 인스턴스의 주 데이터베이스에서 별도의 보조 서버 인스턴스에 있는 하나 이상의 보조 데이터베이스로 트랜잭션 로그 백업을 자동으로 보낼 수 있습니다. 트랜잭션 로그 백업은 각 보조 데이터베이스에 개별적으로 적용됩니다. 모니터 서버라고 하는 선택적인 세 번째 서버 인스턴스는 백업과 복원 작업의 기록 및 상태를 기록하고 예약된 대로 작업이 실행되지 않으면 선택적으로 경고를 발생시킵니다.
로그 전달 작업
로그 전달은 다음 세 가지 작업으로 구성되어 있습니다.
- 주 서버 인스턴스에서 트랜잭션 로그를 백업합니다.
- 보조 서버 인스턴스에 트랜잭션 로그 파일을 복사합니다.
- 보조 서버 인스턴스에 로그 백업을 복원합니다.
다수의 보조 서버 인스턴스에 로그를 전달할 수 있습니다. 이 경우 두 번째 작업과 세 번째 작업은 각 보조 서버 인스턴스에 대해 중복됩니다.
로그 전달 구성은 자동으로 주 서버에서 보조 서버로 장애 조치(Failover)되지 않습니다. 주 데이터베이스를 사용할 수 없을 경우 수동으로 임의의 보조 데이터베이스를 온라인 상태로 전환할 수 있습니다.
보조 데이터베이스를 보고 용도로 사용할 수 있습니다. 자세한 내용은 쿼리 처리를 위해 보조 서버 사용을 참조하십시오.
[!참고] 주 서버 및 보조 서버는 동일한 컴퓨터에 있을 수 있으며 이런 경우 SQL Server 장애 조치 클러스터링이 더 좋은 결과를 제공할 수도 있습니다. 자세한 내용은 장애 조치(Failover) 클러스터링을 참조하십시오.
또한 로그 전달 구성에 대해 경고를 구성할 수 있습니다.
주 서버 및 데이터베이스
로그 전달 구성의 주 서버는 프로덕션 서버인 SQL Server 데이터베이스 엔진 인스턴스입니다. 주 데이터베이스는 다른 서버에 백업하려는 주 서버의 데이터베이스입니다. SQL Server Management Studio를 통한 로그 전달 구성의 모든 관리는 주 데이터베이스에서 수행됩니다.
주 데이터베이스는 전체 또는 대량 로그 복구 모델이어야 합니다. 데이터베이스를 단순 복구로 전환하면 로그 전달이 작동하지 않습니다.
보조 서버 및 데이터베이스
로그 전달 구성의 보조 서버는 주 데이터베이스의 웜 대기 복사본을 보관하는 서버입니다. 보조 서버는 다른 여러 주 서버의 데이터베이스 복사본을 보관합니다. 예를 들어 한 부서에 업무용 데이터베이스 시스템을 실행하는 서버가 다섯 대 있습니다. 개별적으로 다섯 대의 보조 서버를 설치하는 대신에 보조 서버를 한 대만 사용할 수 있습니다. 다섯 대의 주 시스템 백업을 한 대의 백업 시스템에 로드하여 필요한 리소스를 줄이고 비용을 절약할 수 있습니다. 두 대 이상의 주 시스템이 동시에 문제를 일으키지는 않을 것입니다. 또한 두 대 이상의 주 시스템에 문제가 발생할 경우에 대비하기 위해 대기 서버의 사양을 주 서버보다 높게 지정할 수도 있습니다.
보조 데이터베이스는 주 데이터베이스의 전체 백업을 복원하여 초기화해야 합니다. NORECOVERY 또는 STANDBY 옵션을 사용하여 복원을 완료할 수 있습니다. 이는 수동으로 실행하거나 SQL Server Management Studio를 사용하여 실행할 수 있습니다.
모니터 서버
선택적인 모니터 서버는 다음을 포함하여 로그 전달의 자세한 내용을 모두 추적합니다.
- 주 데이터베이스의 트랜잭션 로그가 마지막으로 백업된 시간
- 보조 서버가 백업 파일을 마지막으로 복사하고 복원한 시간
- 백업 오류 경고 정보
주 서버 또는 보조 서버가 손상될 때 중요한 정보의 손실을 막고 모니터링이 중지되지 않게 하려면 모니터 서버가 주 서버나 보조 서버가 아닌 다른 서버에 있어야 합니다. 모니터 서버 하나가 다수의 로그 전달 구성을 모니터링할 수 있습니다. 이 경우 해당 모니터 서버를 사용하는 모든 로그 전달 구성은 하나의 경고 작업을 공유합니다.
중요: |
---|
모니터 서버를 구성한 후에는 로그 전달을 먼저 제거하지 않으면 모니터 서버를 변경할 수 없습니다. |
자세한 내용은 로그 전달 모니터링을 참조하십시오.
로그 전달 작업
로그 전달은 백업 작업, 복사 작업, 복원 작업 및 경고 작업의 4가지 작업으로 구성되며 전용 SQL Server 에이전트 작업에 의해 처리됩니다.
사용자는 로그 백업의 수행 빈도, 각 보조 서버에 복사되는 빈도 및 보조 데이터베이스에 적용되는 빈도를 제어합니다. 프로덕션 시스템에 오류가 발생한 경우 등에서 보조 서버를 온라인 상태로 설정하는 데 필요한 작업을 줄이려면 각 트랜잭션 로그 백업을 만든 후 즉시 복사 및 복원할 수 있습니다. 또는 두 번째 보조 서버에서 보조 데이터베이스에 대한 트랜잭션 로그 백업 적용을 지연할 수 있습니다. 이렇게 하면 실수로 중요한 데이터를 삭제한 경우처럼 주 데이터베이스에서의 잘못된 작업을 확인하고 응답할 수 있는 시간이 생깁니다.
백업 작업
백업 작업은 각각의 주 데이터베이스에 위치한 주 서버 인스턴스에 생성됩니다. 백업 작업을 수행하고 로컬 서버와 모니터 서버에 작업을 기록하며 오래된 백업 파일과 기록 정보를 삭제합니다. 기본적으로 이 작업은 2분마다 실행되지만 간격을 사용자 지정할 수 있습니다.
로그 전달을 설정하면 주 서버 인스턴스에 SQL Server 에이전트 작업 범주인 "로그 전달 백업"이 생성됩니다.
복사 작업
복사 작업은 로그 전달 구성의 각 보조 서버 인스턴스에 생성됩니다. 이 작업은 백업 파일을 주 서버에서 보조 서버의 구성 가능한 대상으로 복사하고 보조 서버와 모니터 서버에 내역을 기록합니다. 복사 작업 일정은 사용자 지정할 수 있으며 백업 일정과 비슷해야 합니다.
로그 전달을 설정하면 보조 서버 인스턴스에 SQL Server 에이전트 작업 범주인 "로그 전달 복사"가 생성됩니다.
복원 작업
복원 작업은 각 로그 전달 구성의 보조 서버 인스턴스에 생성됩니다. 이 작업은 복사된 백업 파일을 보조 데이터베이스에 복원합니다. 로컬 서버와 모니터 서버에 작업을 기록하고 오래된 파일과 기록 정보를 삭제합니다. 로그 전달 복원이 사용 가능하게 설정되면 SQL Server 에이전트 작업 범주인 "로그 전달 복원"이 보조 서버 인스턴스에 생성됩니다.
지정된 보조 서버 인스턴스에서 복원 작업을 복사 작업만큼 자주 예약하거나 복원 작업을 지연할 수 있습니다. 두 작업을 같은 빈도로 예약하면 웜 대기 데이터베이스를 만들기 위해 보조 데이터베이스가 주 데이터베이스와 가능한 한 가깝게 정렬됩니다.
반대로 복원 작업을 몇 시간 동안 지연하면 테이블을 삭제하거나 테이블 행을 잘못 삭제한 경우처럼 심각한 사용자 오류 발생 시 도움이 될 수 있습니다. 오류 시간을 알면 보조 데이터베이스를 오류 직전의 시간으로 되돌릴 수 있습니다. 그런 다음 손실된 데이터를 내보내어 주 데이터베이스로 다시 가져올 수 있습니다.
경고 작업
모니터 서버를 사용할 경우 경고 작업은 모니터 서버 인스턴스에 생성됩니다. 모니터 서버 인스턴스를 사용 중인 모든 로그 전달 구성의 주 데이터베이스 및 보조 데이터베이스에서 이 경고 작업을 공유합니다. 작업을 다시 예약하거나 작업을 사용 가능 또는 불가능하게 설정하는 등 경고 작업에 대한 모든 변경 내용은 모니터 서버를 사용 중인 모든 데이터베이스에 영향을 줍니다. 이 작업은 지정한 임계값 내에서 백업 및 복원 작업이 완료되지 않았을 때 주 데이터베이스 및 보조 데이터베이스에 대한 경고(경고 횟수를 지정해야 함)를 발생시킵니다. 운영자가 로그 전달 실패에 대한 알림을 받도록 경고를 구성해야 합니다. 로그 전달이 사용 가능하게 설정되면 SQL Server 에이전트 작업 범주인 "로그 전달 경고"가 모니터 서버 인스턴스에 생성됩니다.
모니터 서버를 사용하지 않을 경우 경고 작업은 주 서버 인스턴스와 각 보조 서버 인스턴스에 로컬로 생성됩니다. 백업 작업이 지정한 임계값 내에서 완료되지 않은 경우 주 서버 인스턴스에 생성된 경고 작업에 오류가 발생합니다. 지정한 임계값 내에서 로컬 복사 및 복원 작업이 완료되지 않은 경우 보조 서버 인스턴스에 생성된 경고 작업에 오류가 발생합니다.
일반적인 로그 전달 구성
다음 그림에서는 주 서버 인스턴스, 보조 서버 인스턴스 3개 및 모니터 서버 인스턴스로 이루어진 로그 전달 구성을 보여 줍니다. 이 그림에서는 백업, 복사 및 복원 작업에서 수행된 단계를 다음과 같이 설명합니다.
- 주 서버 인스턴스는 백업 작업을 실행하여 주 데이터베이스의 트랜잭션 로그를 백업합니다. 그런 다음 로그 백업을 주 로그 백업 파일에 저장하고 해당 파일을 백업 폴더로 보냅니다. 이 그림에서 백업 폴더는 공유 디렉터리인 백업 공유에 있습니다.
- 3개의 보조 서버 인스턴스는 각각 자체 복사 작업을 실행하여 주 로그 백업 파일을 로컬 대상 폴더로 복사합니다.
- 각 보조 서버 인스턴스는 자체 복원 작업을 실행하여 로그 백업을 로컬 대상 폴더에서 로컬 보조 데이터베이스로 복원합니다.
주 서버 인스턴스와 보조 서버 인스턴스는 자체 기록 및 상태를 모니터 서버 인스턴스로 보냅니다.
로그 전달을 설정하려면
참고 항목
개념
로그 전달 테이블 및 저장 프로시저
데이터베이스 미러링 및 로그 전달