複製交易日誌備份 - 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金鑰加密資料庫執行個體,則必須建立客戶受管金鑰。如果您使用客戶受管金鑰加密資料庫執行個體,您可以使用相同的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] 資料欄提供的序號。

@rds_backup_ending_seq_id

rds_fn_list_tlog_backup_metadata 函數的 [rds_backup_seq_id] 資料欄提供的序號。

您可以指定一組時間、 LSN或序列 ID 參數。只需要一組參數。

您也可以在任何集合中只指定單一參數。例如,透過僅針對 backup_file_end_time 參數提供一值,七天限制內在該時間之前的所有可用交易日誌備份檔案都會複製到 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 之間。在此範例中,預存程序會複製已在 '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 開始。在此範例中,預存程序會複製來自 '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。在此範例中,預存程序會複製來自 '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 之間的交易日誌備份。在此範例中,預存程序會複製過去七天的交易日誌備份,LSN範圍介於 1490000000040007 和 1490000000050009 之間。

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

複製過去七天可用的交易日誌備份,從提供的 starting_lsn 開始。在此範例中,預存程序將從 1490000000040007 LSN 複製交易日誌備份,直至最新的交易日誌備份。

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

複製過去七天可用的交易日誌備份,直到提供的 ending_lsn。在此範例中,預存程序會複製從過去七天開始直到 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 之間的交易日誌備份。在此範例中,預存程序會複製從過去七天開始,並在所提供 rds 備份序列 ID 範圍內的交易日誌備份,從 seq_id 2000 開始,直到 to seq_id 5000。

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

複製過去七天可用的交易日誌備份,從提供的 rds_backup_starting_seq_id 開始。在此範例中,預存程序會複製從 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。在此範例中,預存程序會複製從過去七天開始,直到 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;

複製具有所提供 rds_backup_starting_seq_id 的單一交易日誌備份,如果是在過去七天內提供的話。在此範例中,預存程序會複製 seq_id 為 2000 的單一交易日誌備份 (如果它存在於過去七天內)。

驗證交易日誌備份日誌鏈

設定用於存取交易日誌備份的資料庫必須已啟用自動備份保留。自動備份保留會將資料庫執行個體上的資料庫設為 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伺服器交易日誌架構和日誌序號的詳細資訊,請參閱 Microsoft SQL Server 文件中的交易邏輯架構