使用 RDS for SQL Server 存取交易日誌備份 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 RDS for SQL Server 存取交易日誌備份

藉由取 RDS for SQL Server 的交易日誌備份,您可以列出資料庫的交易日誌備份檔案,並將其複製到目標 Amazon S3 儲存貯體。透過在 Amazon S3 儲存貯體中複製交易日誌備份,您可以結合完整和差異資料庫備份使用它們,以執行時間點資料庫還原。您可以使用 RDS 預存程序來設定交易日誌備份的存取、列出可用的交易日誌備份,以及將它們複製到 Amazon S3 儲存貯體。

存取交易日誌備份可提供下列功能和優點:

  • 列出和檢視 RDS for SQL Server 資料庫執行個體上資料庫之可用交易日誌備份的中繼資料。

  • 將可用的交易日誌備份從 RDS for SQL Server 複製到目標 Amazon S3 儲存貯體。

  • 執行資料庫的時間點還原,而不需還原整個資料庫執行個體。如需將資料庫執行個體還原至某個時間點的詳細資訊,請參閱 將 Amazon RDS 的資料庫執行個體還原至指定時間

可用性與支援

所有 AWS 區域都支援存取交易日誌備份。Amazon RDS 上支援的所有 Microsoft SQL Server 版本都可以存取交易日誌備份。

要求

必須符合下列需求,才能啟用對交易日誌備份的存取:

  • 必須在資料庫執行個體上啟用自動備份,且備份保留必須設為一或多天的值。如需啟用自動備份和設定保留政策的詳細資訊,請參閱 啟用自動備份

  • Amazon S3 儲存貯體與來源資料庫執行個體必須存在於相同的帳戶和區域中。在啟用對交易日誌備份的存取之前,請選擇現有的 Amazon S3 儲存貯體,或建立新的儲存貯體,用於交易日誌備份檔案。

  • Amazon S3 儲存貯體許可政策必須設定如下,才能允許 Amazon RDS 將交易日誌檔複製到其中:

    1. 將儲存貯體上的物件帳戶擁有權屬性設為 Bucket Owner Preferred (偏好的儲存貯體擁有者)。

    2. 新增下列政策。根據預設,將沒有任何政策,因此請使用儲存貯體存取控制清單 (ACL) 來編輯儲存貯體政策並加以新增。

    下列範例使用 ARN 來指定資源。建議您在資源型信任關係中使用 SourceArnSourceAccount 全域條件內容金鑰,將服務的許可限定於特定資來源。如需使用 ARN 的詳細資訊,請參閱 Amazon Resource Name (ARN)Amazon RDS 中的 Amazon Resource Name (ARN)

    範例 用於存取交易日誌備份的 Amazon S3 許可政策範例
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Only allow writes to my bucket with bucket owner full control", "Effect": "Allow", "Principal": { "Service": "backups.rds.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/{customer_path}/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:sourceAccount": "{customer_account}", "aws:sourceArn": "{db_instance_arn}" } } } ] }
  • 存取 Amazon S3 儲存貯體的 AWS Identity and Access Management (IAM) 角色。如果您已經有 IAM 角色,則可直接使用。當您使用 AWS 管理主控台新增 SQLSERVER_BACKUP_RESTORE 選項時,可以選擇替您建立新的 IAM 角色。或者,您也可以手動建立新的。如需使用 SQLSERVER_BACKUP_RESTORE 建立和設定 IAM 角色的詳細資訊,請參閱 手動建立原生備份與還原的 IAM 角色

  • SQLSERVER_BACKUP_RESTORE 選項必須新增至資料庫執行個體上的選項群組。如需新增 SQLSERVER_BACKUP_RESTORE 選項的詳細資訊,請參閱 SQL Server 對原生備份與還原的支援

    注意

    如果您的資料庫執行個體已啟用儲存加密,則必須在原生備份和還原選項群組中提供的 IAM 角色中提供 AWS KMS (KMS) 動作和金鑰。

    或者,如果您打算使用 rds_restore_log 預存程序執行時間點資料庫還原,建議將相同的 Amazon S3 路徑用於原生備份和還原選項群組,以及存取交易日誌備份。此方法可確保 Amazon RDS 擔任選項群組中的角色來執行還原日誌功能時,可以從相同的 Amazon S3 路徑中擷取交易日誌備份。

  • 如果資料庫執行個體已加密,無論加密類型為何 (受AWS 管金鑰或客戶受管金鑰),您必須在 IAM 角色和rds_tlog_backup_copy_to_S3預存程序中提供客戶受管 KMS 金鑰。

限制與建議

存取交易日誌備份具有下列限制和建議:

  • 對於備份保留設定為 1 到 35 天的任何資料庫執行個體,您最多可以列出並複製最後七天的交易日誌備份。

  • 用於存取交易日誌備份的 Amazon S3 儲存貯體與來源資料庫執行個體必須存在於相同的帳戶和區域中。不支援跨帳戶與跨區域複本。

  • 只能將一個 Amazon S3 儲存貯體設定為將交易日誌備份複製到的目標。您可以使用 rds_tlog_copy_setup 預存程序選擇新的目標 Amazon S3 儲存貯體。如需選擇新目標 Amazon S3 儲存貯體的詳細資訊,請參閱 設定交易日誌備份的存取權

  • 如果未啟用您的 RDS 執行個體進行儲存體加密,則無法在使用 rds_tlog_backup_copy_to_S3 預存程序時指定 KMS 金鑰。

  • 不支援多帳戶複製。用於複製的 IAM 角色只允許資料庫執行個體擁有者帳戶內 Amazon S3 儲存貯體的寫入存取權。

  • 只有兩個任何類型的並行任務才能在 RDS for SQL Server 資料庫執行個體上執行。

  • 在指定時間內,只能針對單一資料庫執行一個複製任務。如果您想要複製資料庫執行個體上多個資料庫的交易日誌備份,請針對每個資料庫使用個別的複製任務。

  • 如果您複製已存在於 Amazon S3 儲存貯體且名稱相同的交易日誌備份,將覆寫現有的交易日誌備份。

  • 您只能執行隨附的預存程序,存取主要資料庫執行個體上的交易日誌備份。您無法在 RDS for SQL Server 僅供讀取複本上,也無法在多可用區域資料庫叢集的次要執行個體上執行這些預存程序。

  • 如果在 rds_tlog_backup_copy_to_S3 預存程序執行期間重新啟動 RDS for SQL Server 資料庫執行個體,則在資料庫執行個體再次上線時,任務將自動從頭開始重新啟動。在重新開機之前執行任務時,已複製到 Amazon S3 儲存貯體的任何交易日誌備份都會遭到覆寫。

  • 無法設定 Microsoft SQL Server 系統資料庫和 RDSAdmin 資料庫,進行交易日誌備份存取。

  • 不支援複製到 SSE-KMS 加密的儲存貯體。