复制事务日志备份
要将单个数据库的一组可用事务日志备份复制到您的 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];
以下输入参数可用:
参数 | 描述 |
---|---|
|
要为其复制事务日志备份的数据库的名称 |
|
客户托管的 KMS 密钥。如果您使用 AWS 托管的 KMS 密钥加密数据库实例,则必须创建客户托管的密钥。如果您使用客户托管的密钥加密数据库实例,则可以使用相同的 KMS 密钥 ARN。 |
|
|
|
|
|
|
|
|
|
|
|
|
您可以指定一组时间、LSN 或序列 ID 参数。只需要一组参数。
您也可以在任何参数集中仅指定一个参数。例如,通过仅为 backup_file_end_time
参数提供值,则该时间之前在七天限制内的所有可用事务日志备份文件都将复制到您的 Amazon S3 桶中。
以下是 rds_tlog_backup_copy_to_S3
存储过程的有效输入参数组合。
提供的参数 | 预期结果 |
---|---|
|
复制最近七天且在提供的 |
|
复制最近七天的事务日志备份,并从提供的 |
|
复制最近七天的事务日志备份,直至提供的 |
|
复制最近七天内可用且介于提供的 |
|
复制最近七天内可用的事务日志备份,从提供的 |
|
复制最近七天内可用的事务日志备份,直到提供的 |
|
复制最近七天内可用且在提供的范围 |
|
复制最近七天内可用的事务日志备份,从提供的 |
|
复制最近七天内可用的事务日志备份,直到提供的 |
|
使用提供的 |
验证事务日志备份日志链
为访问事务日志备份而配置的数据库必须启用自动备份保留。自动备份保留将数据库实例上的数据库设置为 FULL
恢复模式。要支持数据库的时间点还原,请避免更改数据库恢复模式,因为这可能会导致日志链断开。我们建议将数据库设置为 FULL
恢复模式。
要在复制事务日志备份之前手动验证日志链,请调用 rds_fn_list_tlog_backup_metadata
函数并查看 is_log_chain_broken
列中的值。值为“1”表示当前日志备份和前一个日志备份之间的日志链已断开。
以下示例显示了 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_seque_id 为 44 的 last_lsn 值 90985 不匹配。
有关 SQL Server 事务日志架构和日志序列号的更多信息,请参阅 Microsoft SQL Server 文档中的事务日志逻辑架构