Bevara säkerhetskopieringshistorik med principer för långsiktig kvarhållning
Företag måste ha säkerhetskopior i flera månader eller år för regelbundet administrativt skydd, till exempel återställa data som tagits bort av misstag.
Dataskyddslagar i minst ett land/en region där din detaljhandelsorganisation verkar kräver till exempel att du för register över alla kundtransaktioner i fem år. Du måste se till att du behåller data i Azure SQL Database, som ligger till grund för ditt ERP-system (Enterprise Resource Planning), åtminstone så länge.
Nu ska vi lära oss mer om långsiktiga kvarhållningsprinciper i Azure SQL Database och hur du använder dem när du behöver säkerhetskopior som sparats i mer än 35 dagar.
Principer för långsiktig kvarhållning av säkerhetskopior
Automatiska säkerhetskopieringar i Azure SQL Database är tillgängliga för återställning i upp till 35 dagar. Den här tidsperioden är tillräcklig för den dagliga administrationen. Men ibland kan du behöva behålla data under längre perioder. Till exempel kan dataskyddsregler i din lokala jurisdiktion kräva att du behåller säkerhetskopior i flera år.
För dessa krav använder du funktionen för långsiktig kvarhållning (LTR – long-term retention). På så sätt kan du lagra Azure SQL Database-säkerhetskopior i RA-GRS-blobbar (Read-Access Geo Redundant) i upp till 10 år. Om du behöver åtkomst till en säkerhetskopia i LTR kan du återställa den som en ny databas via Azure Portal eller PowerShell.
Så fungerar långsiktig kvarhållning i SQL Database
LTR-funktionen tar automatiska säkerhetskopior för återställning till tidpunkt och kopierar dem till olika blobar. Den här kopieringsåtgärden körs i bakgrunden med låg prioritet för att säkerställa att prestandan inte påverkas.
Dessa säkerhetskopieringar görs inte som standard. Du måste konfigurera en princip för att starta och hantera dem.
Så skriver du en princip för långsiktig kvarhållning
LTR-principen anger hur ofta en automatisk säkerhetskopia kopieras för långsiktig kvarhållning. Du anger frekvensen med bokstäver:
W
: Anger att en fullständig säkerhetskopia varje vecka kopieras till långsiktig kvarhållning.M
: Anger att en fullständig säkerhetskopia från den första veckan i varje månad kopieras till långsiktig kvarhållning.Y
: Anger att en fullständig säkerhetskopia varje år kopieras till långsiktig kvarhållning.
Om du använder Y
för årliga säkerhetskopior kan du ange den vecka varje år då du vill att säkerhetskopian ska kopieras med hjälp av parametern WeekOfYear
.
För varje principbokstav använder du siffror för att ange hur länge säkerhetskopieringen ska behållas. Om du till exempel vill behålla veckosäkerhetskopian i 10 veckor använder du W=10
. Om du vill behålla den årliga säkerhetskopian i tre år använder du Y=3
.
Exempel på principer för långsiktig kvarhållning
Du kan kombinera veckovisa, månatliga och årliga kvarhållningsvärden för att skapa en flexibel princip. Till exempel:
W=0, M=0, Y=5, WeekOfYear=3
Den här principen behåller den fullständiga säkerhetskopian som togs under årets tredje vecka i fem år.
W=0, M=10, Y=0
Den här principen sparar den första fullständiga säkerhetskopian för varje månad i 10 månader.
W=12, M=0, Y=0
Den här principen sparar varje veckovisa fullständiga säkerhetskopia i tolv veckor.
W=4, M=12, Y=10, WeekOfYear=1
Den här principen sparar varje veckovisa säkerhetskopia i fyra veckor. Den sparar även den första fullständiga säkerhetskopian för varje månad i 12 månader. Slutligen behåller den den första fullständiga säkerhetskopieringen som togs under den första veckan varje år i 10 år.
Ange kvarhållningsprinciper i PowerShell
I PowerShell kan du undersöka en långsiktig kvarhållningsprincip genom att köra det här kommandot:
Get-AzSqlDatabase `
-ResourceGroupName <ResourceGroupName> `
-ServerName <ServerName> `
| Get-AzSqlDatabaseLongTermRetentionPolicy
Använd cmdleten Set-AzSqlDatabaseBackupLongTermRetentionPolicy
för att konfigurera principen. När du anger dessa principer i PowerShell måste du använda ISO 8601-varaktighetsvärden. Om du till exempel vill ange principen W=10
skickar du strängen P10W
till parametern -WeeklyRetention
. Om du vill ange principen Y=3
skickar du strängen P3Y
till parametern -YearlyRetention
.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy `
-ServerName <ServerName> `
-DatabaseName <DatabaseName> `
-ResourceGroupName <ResourceGroupName> `
-WeeklyRetention P10W `
-YearlyRetention P3Y `
-WeekOfYear 1