使用長期保留原則保留備份歷程記錄

已完成

公司需要保留幾個月或幾年的備份以進行週期性系統管理保護,像是還原不小心刪除的資料。

例如,零售組織所在至少一個國家/地區中的資料保護法,會要求您保留五年所有客戶交易記錄。 您必須確保 Azure SQL Database 中的資料 (用於支援企業資源規劃 (ERP) 系統) 至少會保留那麼長時間。

現在,讓我們了解 Azure SQL Database 中的長期保留原則,以及當您需要保留備份超過 35 天時如何使用這些原則。

長期備份保留原則

Azure SQL Database 自動備份會保留最多 35 天以便進行還原。 這段時間足以滿足日常管理用途。 但是,有時候您可能需要保留較長時間的資料。 例如,您當地管轄單位的資料保護規定可能會要求您保留幾年的備份。

針對這些要求,請使用長期保留 (LTR) 功能。 如此一來,您就可以將 Azure SQL Database 備份儲存在讀取權限異地備援儲存體 (RA-GRS) Blob 中長達 10 年。 若您需要在 LTR 中存取任何備份,可以使用 Azure 入口網站或 PowerShell,將其還原為新的資料庫。

SQL Database 長期保留如何運作

LTR 功能會自動進行時間點復原的備份,並將其複製到不同的 Blob。 此複製作業會在背景中以低優先順序執行,以確保不會對效能造成影響。

這些備份預設不會發生。 您必須設定原則以開始並管理它們。

如何撰寫長期保留原則

LTR 原則會設定自動備份複製的頻率以進行長期保留。 您可以使用字母來指定此頻率:

  • W:指定每週將一份完整備份複製到長期保留。
  • M:指定每月 (從第一週開始) 將一份完整備份複製到長期保留。
  • Y:指定每年將一份完整備份複製到長期保留。

如果您使用 Y 進行年度備份,則可以使用 WeekOfYear 參數來指定在每年中的哪一週複製備份。

針對每個原則字母,您可以使用數字來指示備份的保留時間長度。 例如,若要保留 10 週的每週備份,請使用 W=10。 若要保留年度備份三年,請使用 Y=3

範例長期保留原則

您可以結合每週、每月和每年保留期值,以建立彈性原則。 例如:

  • W=0, M=0, Y=5, WeekOfYear=3

    此原則會保留每年的第三週完整備份共五年。

  • W=0, M=10, Y=0

    此原則會保留每個月的第一個完整備份共 10 個月。

  • W=12, M=0, Y=0

    此原則會保留每週完整備份共 12 週。

  • W=4, M=12, Y=10, WeekOfYear=1

    此原則會保留每週完整備份共四週。 也會保留每個月的第一個完整備份共 12 個月。 最後,每年第一週所建立的第一次完整備份會保留 10 年。

在 PowerShell 中設定保留原則

在 PowerShell 中,您可以執行下列命令來檢查長期保留原則:

Get-AzSqlDatabase `
    -ResourceGroupName <ResourceGroupName> `
    -ServerName <ServerName> `
    | Get-AzSqlDatabaseLongTermRetentionPolicy

若要設定原則,請使用 Set-AzSqlDatabaseBackupLongTermRetentionPolicy Cmdlet。 當您在 PowerShell 中指定這些原則時,必須使用 ISO 8601 持續時間值。 例如,若要指定 W=10 原則,請將字串 P10W 傳遞給 -WeeklyRetention 參數。 若要指定 Y=3 原則,請將字串 P3Y 傳遞給 -YearlyRetention 參數。

Set-AzSqlDatabaseBackupLongTermRetentionPolicy `
    -ServerName <ServerName> `
    -DatabaseName <DatabaseName> `
    -ResourceGroupName <ResourceGroupName> `
    -WeeklyRetention P10W `
    -YearlyRetention P3Y `
    -WeekOfYear 1