Uchovávání historie zálohování se zásadami dlouhodobého uchovávání

Dokončeno

Firmy potřebují uchovávat zálohy po dobu několika měsíců nebo let z důvodu běžné administrativní ochrany, například kvůli obnovení nechtěně odstraněných dat.

Například zákony na ochranu dat v alespoň jedné zemi nebo oblasti, kde vaše maloobchodní organizace působí, vyžadují, abyste po dobu pěti let uchováli záznamy o všech transakcích zákazníků. Potřebujete zajistit, abyste data uchováli ve službě Azure SQL Database, která je základem systému plánování podnikových zdrojů (ERP) alespoň na tak dlouho.

Teď se dozvíme o zásadách dlouhodobého uchovávání informací ve službě Azure SQL Database a o tom, jak je používat, když potřebujete uchovávat zálohy po dobu delší než 35 dnů.

Zásady dlouhodobého uchovávání záloh

Automatické zálohy Azure SQL Database zůstávají dostupné pro obnovení po dobu až 35 dnů. Toto období je dostatečně dlouhé pro účely každodenní správy. Někdy ale může být potřeba uchovávat data po delší dobu. Předpisy pro ochranu dat ve vaší místní jurisdikci mohou například vyžadovat, abyste zálohy zachovávali po dobu několika let.

Ke splnění takových požadavků můžete použít funkci dlouhodobého uchovávání (LTR). Takto můžete ukládat zálohy databáze Azure SQL Database do objektů blob geograficky redundantního úložiště jen pro čtení (RA-GRS) na dobu až 10 let. Pokud potřebujete získat přístup k jakékoli záloze v LTR, můžete ji prostřednictvím webu Azure Portal nebo PowerShellu obnovit jako novou databázi.

Jak funguje dlouhodobé uchovávání databáze SQL Database

Funkce LTR přebírá automatické zálohy pro obnovení k určitému bodu v čase a kopíruje je do různých objektů blob. Tato operace kopírování běží na pozadí s nízkou prioritou, aby se zajistilo, že výkon nebude mít žádný vliv.

Toto zálohování neprobíhá automaticky. Musíte nakonfigurovat nějaké zásady a začít se o ně starat.

Psaní zásad dlouhodobého uchovávání

Zásady LTR nastaví, jak často se pro dlouhodobé uchovávání kopíruje automatická záloha. Tuto frekvenci zadáte pomocí písmen:

  • W: Určuje, že se jedna úplná záloha každý týden zkopíruje do dlouhodobého uchovávání.
  • M: Určuje, že se jedna úplná záloha z prvního týdne každého měsíce zkopíruje do dlouhodobého uchovávání.
  • Y: Určuje, že se jedna úplná záloha každý rok zkopíruje do dlouhodobého uchovávání.

Pokud použijete Y pro roční zálohy, můžete pomocí parametru WeekOfYear určit týden v roce, kdy se tato záloha zkopíruje.

Pro každé písmeno zásady použijete čísla k označení, jak dlouho má být záloha zachována. Pokud například chcete uchovávat týdenní zálohu po dobu 10 týdnů, použijte W=10. Pokud chcete roční zálohu uchovávat po dobu 3 let, použijte Y=3.

Ukázkové zásady dlouhodobého uchovávání

Pro vytvoření flexibilních zásad můžete kombinovat týdenní, měsíční a roční hodnoty uchovávání. Příklad:

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

    Tato zásada uchovává úplné zálohování pořízené ve třetím týdnu roku po dobu pěti let.

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

    Tato zásada zachovává první úplnou zálohu každého měsíce po dobu 10 měsíců.

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

    Tato zásada zachovává každou týdenní úplnou zálohu po dobu 12 týdnů.

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

    Tato zásada zachovává každou týdenní zálohu po dobu 4 týdnů. Dále zachovává první úplnou zálohu každého měsíce po dobu 12 měsíců. Nakonec uchovává první úplnou zálohu pořízenou v prvním týdnu každého roku po dobu 10 let.

Nastavení zásad uchovávání v PowerShellu

V PowerShellu můžete prozkoumat zásady dlouhodobého uchovávání spuštěním tohoto příkazu:

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

Ke konfiguraci zásady použijte rutinu Set-AzSqlDatabaseBackupLongTermRetentionPolicy. Když tyto zásady specifikujete v PowerShellu, musíte použít hodnoty doby trvání ISO 8601. Pokud například chcete zadat zásadu W=10, předejte parametru -WeeklyRetention řetězec P10W. Pokud chcete zadat zásadu Y=3, předejte parametru -YearlyRetention řetězec P3Y.

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