로그 시퀀스 번호 차이로 인한 시점 복구 실패 문제 해결 - Amazon Relational Database Service

로그 시퀀스 번호 차이로 인한 시점 복구 실패 문제 해결

RDS for SQL Server에서 시점 복구(PITR)를 시도할 때 로그 시퀀스 번호(LSN) 차이로 인해 실패가 발생할 수 있습니다. 이러한 차이로 인해 RDS가 데이터베이스를 요청된 시간으로 복원할 수 없으며 RDS는 복원 인스턴스를 incompatible-restore 상태로 전환합니다.

이러한 문제가 발생하는 일반적인 원인은 다음과 같습니다.

  • 데이터베이스 복구 모델에 대한 수동 변경

  • 트랜잭션 로그 백업을 완료하기 위한 리소스가 부족하여 발생하는 RDS의 자동 복구 모델 변경

데이터베이스에서 LSN 차이를 식별하려면 다음 쿼리를 실행합니다.

SELECT * FROM msdb.dbo.rds_fn_list_tlog_backup_metadata(database_name) ORDER BY backup_file_time_utc desc;

LSN 차이가 발견되면 다음을 수행할 수 있습니다.

  • LSN 차이 이전의 복원 지점을 선택합니다.

  • 기다렸다가 다음 인스턴스 백업이 완료된 후 특정 시점으로 복원합니다.

이 문제를 방지하려면 RDS for SQL Server 데이터베이스의 복구 모델을 수동으로 변경하지 않는 것이 좋습니다. 이렇게 하면 인스턴스 내구성이 저하되기 때문입니다. 또한 정기적인 트랜잭션 로그 백업을 보장하기 위해 워크로드에 충분한 리소스가 있는 인스턴스 유형을 선택하는 것이 좋습니다.

트랜잭션 로그 관리에 대한 자세한 내용은 Microsoft SQL Server 설명서의 SQL Server transaction log architecture and management guide를 참조하세요.