사용 가능한 트랜잭션 로그 백업 나열하기
사용 가능한 트랜잭션 로그 백업 나열하기
RDS for SQL Server에서 특정 데이터베이스에 사용 가능한 트랜잭션 로그 백업을 나열하는 방법을 알아볼게요. 백업 보존 기간이 설정된 데이터베이스는 최대 7일치 트랜잭션 로그 백업을 Amazon S3 버킷으로 복사할 수 있어요.
출처: 문서
본문
RDS for SQL Server에서는 전체 복구 모델(full recovery model)로 구성되고 DB 인스턴스 백업 보존 기간이 하루 이상으로 설정된 데이터베이스에 대해 트랜잭션 로그 백업이 자동으로 활성화돼요. 트랜잭션 로그 백업 액세스를 활성화하면 최대 7일치의 트랜잭션 로그 백업을 Amazon S3 버킷으로 복사할 수 있게 돼요.
트랜잭션 로그 백업 액세스를 활성화한 후에는 이 기능을 사용하여 사용 가능한 트랜잭션 로그 백업 파일을 나열하고 복사할 수 있어요.
트랜잭션 로그 백업 나열하기
개별 데이터베이스에 대해 사용 가능한 모든 트랜잭션 로그 백업을 나열하려면 rds_fn_list_tlog_backup_metadata 함수를 호출하세요. 함수를 호출할 때 ORDER BY 또는 WHERE 절을 사용할 수 있어요.
사용 가능한 트랜잭션 로그 백업 파일 나열 및 필터링 예시:
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename');
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename') WHERE rds_backup_seq_id = 3507;
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename') WHERE backup_file_time_utc > '2022-09-15 20:44:01' ORDER BY backup_file_time_utc DESC;
rds_fn_list_tlog_backup_metadata 함수는 다음 출력을 반환해요:
| 열 이름 | 데이터 타입 | 설명 |
|---|---|---|
db_name |
sysname | 트랜잭션 로그 백업을 나열할 데이터베이스 이름이에요. |
db_id |
int | 입력 매개변수 db_name에 대한 내부 데이터베이스 식별자예요. |
family_guid |
uniqueidentifier | 생성 시 원본 데이터베이스의 고유 ID예요. 이 값은 데이터베이스를 복원할 때(다른 데이터베이스 이름으로도) 동일하게 유지돼요. |
rds_backup_seq_id |
int | RDS가 각 트랜잭션 로그 백업 파일의 시퀀스 번호를 유지하는 데 내부적으로 사용하는 ID예요. |
backup_file_epoch |
bigint | 트랜잭션 백업 파일이 생성된 epoch 시간이에요. |
backup_file_time_utc |
datetime | backup_file_epoch 값을 UTC 시간으로 변환한 값이에요. |
starting_lsn |
numeric(25,0) | 트랜잭션 로그 백업 파일의 첫 번째 또는 가장 오래된 로그 레코드의 로그 시퀀스 번호(LSN)예요. |
ending_lsn |
numeric(25,0) | 트랜잭션 로그 백업 파일의 마지막 또는 다음 로그 레코드의 로그 시퀀스 번호(LSN)예요. |
is_log_chain_broken |
bit | 현재 트랜잭션 로그 백업 파일과 이전 트랜잭션 로그 백업 파일 사이에 로그 체인이 깨졌는지를 나타내는 부울 값이에요. |
file_size_bytes |
bigint | 트랜잭션 백업 세트의 크기(바이트)예요. |
Error |
varchar(4000) | rds_fn_list_tlog_backup_metadata 함수가 예외를 발생시킨 경우의 오류 메시지예요. 예외가 없으면 NULL이에요. |