트랜잭션 로그 백업 복사 - Amazon Relational Database Service

트랜잭션 로그 백업 복사

개별 데이터베이스의 사용 가능한 트랜잭션 로그 백업 세트를 Amazon S3 버킷에 복사하려면 rds_tlog_backup_copy_to_S3 저장 프로시저를 호출합니다. rds_tlog_backup_copy_to_S3 저장 프로시저는 트랜잭션 로그 백업을 복사하는 새 작업을 시작합니다.

참고

rds_tlog_backup_copy_to_S3 저장 프로시저는 is_log_chain_broken 속성에 대한 검증 없이 트랜잭션 로그 백업을 복사합니다. 따라서 rds_tlog_backup_copy_to_S3 저장 프로시저를 실행하기 전에 끊어지지 않은 로그 체인을 수동으로 확인해야 합니다. 자세한 설명은 트랜잭션 로그 백업 로그 체인 검증을 참조하세요.

rds_tlog_backup_copy_to_S3 저장 프로시저 사용 예
exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='mydatabasename', [@kms_key_arn='arn:aws:kms:region:account-id:key/key-id'], [@backup_file_start_time='2022-09-01 01:00:15'], [@backup_file_end_time='2022-09-01 21:30:45'], [@starting_lsn=149000000112100001], [@ending_lsn=149000000120400001], [@rds_backup_starting_seq_id=5], [@rds_backup_ending_seq_id=10];

다음 입력 파라미터를 사용할 수 있습니다.

파라미터 설명

@db_name

트랜잭션 로그 백업을 복사할 데이터베이스의 이름입니다.

@kms_key_arn

고객 관리형 KMS 키. AWS 관리형 KMS 키로 DB 인스턴스를 암호화하는 경우 고객 관리형 키를 생성해야 합니다. 고객 관리형 키로 DB 인스턴스를 암호화하는 경우 동일한 KMS 키 ARN을 사용할 수 있습니다.

@backup_file_start_time

rds_fn_list_tlog_backup_metadata 함수의 [backup_file_time_utc] 열에서 제공된 UTC 타임스탬프입니다.

@backup_file_end_time

rds_fn_list_tlog_backup_metadata 함수의 [backup_file_time_utc] 열에서 제공된 UTC 타임스탬프입니다.

@starting_lsn

rds_fn_list_tlog_backup_metadata 함수의 [starting_lsn] 열에서 제공된 LSN(로그 시퀀스 번호)입니다.

@ending_lsn

rds_fn_list_tlog_backup_metadata 함수의 [ending_lsn] 열에서 제공된 LSN(로그 시퀀스 번호)입니다.

@rds_backup_starting_seq_id

rds_fn_list_tlog_backup_metadata 함수의 [rds_backup_seq_id] 열에서 제공된 시퀀스 ID입니다.

@rds_backup_ending_seq_id

rds_fn_list_tlog_backup_metadata 함수의 [rds_backup_seq_id] 열에서 제공된 시퀀스 ID입니다.

시간, LSN 또는 시퀀스 ID 파라미터 세트를 지정할 수 있습니다. 한 세트의 파라미터만 필요합니다.

모든 세트에 하나의 파라미터만 지정할 수도 있습니다. 예를 들어 backup_file_end_time 파라미터의 값만 제공하면 7일 한도 내에서 해당 시간 이전에 사용 가능한 모든 트랜잭션 로그 백업 파일이 Amazon S3 버킷에 복사됩니다.

다음은 rds_tlog_backup_copy_to_S3 저장 프로시저의 유효한 입력 파라미터 조합입니다.

제공된 파라미터 예상 결과
exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_start_time='2022-08-23 00:00:00', @backup_file_end_time='2022-08-30 00:00:00';

제공된 backup_file_start_timebackup_file_end_time 범위 사이에 존재하는 지난 7일간의 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 '2022-08-23 00:00:00'과 '2022-08-30 00:00:00' 사이에 생성된 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_start_time='2022-08-23 00:00:00';

제공된 backup_file_start_time에서 시작하는 지난 7일간의 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 '2022-08-23 00:00:00'부터 최신 트랜잭션 로그 백업까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_end_time='2022-08-30 00:00:00';

제공된 backup_file_end_time까지의 지난 7일간의 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 '2022-08-23 00:00:00'부터 '2022-08-30 00:00:00'까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @starting_lsn =1490000000040007, @ending_lsn = 1490000000050009;

제공된 starting_lsnending_lsn 범위 사이의 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 LSN 범위가 1490000000040007에서 1490000000050009 사이인 지난 7일간의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @starting_lsn =1490000000040007;

제공된 starting_lsn에서 시작하는 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 LSN 1490000000040007부터 최신 트랜잭션 로그 백업까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @ending_lsn =1490000000050009;

제공된 ending_lsn까지 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 지난 7일부터 시작해 lsn 1490000000050009까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000, @rds_backup_ending_seq_id= 5000;

제공된 rds_backup_starting_seq_idrds_backup_ending_seq_id 범위 사이에 존재하는 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 지난 7일부터 시작하여 seq_id 2000부터 seq_id 5000까지의 제공된 rds 백업 시퀀스 id 범위 내에 있는 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000;

제공된 rds_backup_starting_seq_id에서 시작하는 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 seq_id 2000부터 시작하여 최신 트랜잭션 로그 백업까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_ending_seq_id= 5000;

제공된 rds_backup_ending_seq_id까지 지난 7일간의 사용 가능한 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 지난 7일부터 시작하여 seq_id 5000까지의 트랜잭션 로그 백업을 복사합니다.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000; @rds_backup_ending_seq_id= 2000;

지난 7일 내에 사용 가능한 경우 제공된 rds_backup_starting_seq_id와 함께 단일 트랜잭션 로그 백업을 복사합니다. 이 예에서 저장 프로시저는 seq_id가 2000인 단일 트랜잭션 로그 백업을 복사합니다(지난 7일 내에 존재하는 경우).

트랜잭션 로그 백업 로그 체인 검증

트랜잭션 로그 백업 액세스가 구성된 데이터베이스는 자동 백업 보존이 활성화되어 있어야 합니다. 자동 백업 보존은 DB 인스턴스의 데이터베이스를 FULL 복구 모델로 설정합니다. 데이터베이스의 특정 시점 복원을 지원하려면 데이터베이스 복구 모델을 변경하지 마세요. 로그 체인이 끊어질 수 있습니다. 데이터베이스를 FULL 복구 모델로 설정한 상태로 유지하는 것이 좋습니다.

트랜잭션 로그 백업을 복사하기 전에 로그 체인을 수동으로 검증하려면 rds_fn_list_tlog_backup_metadata 함수를 호출하고 is_log_chain_broken 열의 값을 검토하세요. 값이 ‘1’이면 현재 로그 백업과 이전 로그 백업 간 로그 체인이 끊어졌음을 나타냅니다.

다음 예는 rds_fn_list_tlog_backup_metadata 저장 프로시저의 출력에서 끊어진 로그 체인을 보여 줍니다.

끊어진 로그 체인을 보여 주는 rds_fn_list_tlog_backup_metadata 출력.

일반적 로그 체인에서는 주어진 rds_sequence_id의 first_lsn 로그 시퀀스 번호(LSN) 값이 이전 rds_sequence_id의 last_lsn 값과 일치해야 합니다. 이미지에서 rds_sequence_id 45의 first_lsn 값 90987은 이전 rds_sequence_id 44의 last_lsn 값 90985와 일치하지 않습니다.

SQL Server 트랜잭션 로그 아키텍처 및 로그 시퀀스 번호에 대한 자세한 내용은 Microsoft SQL Server 설명서의 트랜잭션 로그 논리적 아키텍처를 참조하세요.