Retention-principen
Kvarhållningsprincipen styr den mekanism som automatiskt tar bort data från tabeller eller materialiserade vyer. Det är användbart att ta bort data som kontinuerligt flödar till en tabell och vars relevans är åldersbaserad. Principen kan till exempel användas för en tabell som innehåller diagnostikhändelser som kan bli ointressanta efter två veckor.
Kvarhållningsprincipen kan konfigureras för en specifik tabell eller materialiserad vy eller för en hel databas. Principen gäller sedan för alla tabeller i databasen som inte åsidosätter den. När principen konfigureras både på databas- och tabellnivå har kvarhållningsprincipen i tabellen företräde framför databasprincipen.
Det är viktigt att konfigurera en kvarhållningsprincip för kluster som kontinuerligt matar in data, vilket begränsar kostnaderna.
Data som är "utanför" kvarhållningsprincipen är berättigade till borttagning. Det finns ingen specifik garanti när borttagning sker. Data kan "dröja sig kvar" även om kvarhållningsprincipen utlöses.
Kvarhållningsprincipen är oftast inställd på att begränsa dataåldern sedan inmatningen. Mer information finns i SoftDeletePeriod.
Anteckning
- Borttagningstiden är inte exakt. Systemet garanterar att data inte tas bort innan gränsen överskrids, men borttagningen sker inte omedelbart efter den tidpunkten.
- En mjuk borttagningsperiod på 0 kan anges som en del av en kvarhållningsprincip på tabellnivå, men inte som en del av en kvarhållningsprincip på databasnivå.
- När detta är klart kommer inmatade data inte att checkas in till källtabellen, vilket undviker behovet av att spara data.
Recoverability
Därför kan bara anges tillDisabled
. - En sådan konfiguration är användbar främst när data matas in i en tabell. En transaktionsuppdateringsprincip används för att transformera den och omdirigera utdata till en annan tabell.
Principobjektet
En kvarhållningsprincip innehåller följande egenskaper:
- SoftDeletePeriod:
- Tidsintervall för vilket det är garanterat att data hålls tillgängliga för frågor. Perioden mäts med början från den tidpunkt då data matades in.
- Standardvärdet är
100 years
. - När du ändrar perioden för mjuk borttagning av en tabell eller databas gäller det nya värdet både befintliga och nya data.
- Återställningsbarhet:
- Dataåterställning (aktiverad/inaktiverad) efter att data har tagits bort.
- Standardvärdet är
Enabled
. Enabled
Om inställningen är inställd på kan data återställas i 14 dagar efter att de har tagits bort.- Det går inte att konfigurera återställningsperioden.
Kommandon för hantering
- Använd
.show policy retention
för att visa den aktuella kvarhållningsprincipen för en databas, tabell eller materialiserad vy. - Använd
.alter policy retention
för att ändra den aktuella kvarhållningsprincipen för en databas, tabell eller materialiserad vy.
Standardvärden
När en databas eller en tabell skapas har den som standard ingen definierad kvarhållningsprincip. Normalt skapas databasen och dess kvarhållningsprincip har sedan omedelbart angetts av skaparen enligt kända krav.
När du kör ett .show
kommando för kvarhållningsprincipen för en databas eller tabell som inte har fått sin princip inställd visas Policy
som null
.
Standardkvarhållningsprincipen, med standardvärdena som anges ovan, kan tillämpas med hjälp av följande kommando.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Kommandot resulterar i följande principobjekt som tillämpas på databasen eller tabellen.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
Du kan rensa kvarhållningsprincipen för en databas eller tabell med hjälp av följande kommando.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Exempel
För ett kluster som har en databas med namnet MyDatabase
, med tabeller MyTable1
, MyTable2
och MySpecialTable
.
Mjuk borttagningsperiod på sju dagar och återställning inaktiverad
Ange att alla tabeller i databasen ska ha en mjuk borttagningsperiod på sju dagar och inaktiverad återställning.
Alternativ 1 (rekommenderas): Ange en kvarhållningsprincip på databasnivå och kontrollera att inga principer på tabellnivå har angetts.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge materialized-view ViewName policy retention softdelete = 7d
Alternativ 2: För varje tabell anger du en kvarhållningsprincip på tabellnivå med en mjuk borttagningsperiod på sju dagar och återställningsbarheten inaktiverad.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
Mjuk borttagningsperiod på sju dagar och återställning aktiverat
Ange tabeller
MyTable1
ochMyTable2
för att inaktivera en mjuk borttagningsperiod på sju dagar och återställningsbarhet.Inställd
MySpecialTable
på att ha en mjuk borttagningsperiod på 14 dagar och återställningsbarhet aktiverad.Alternativ 1 (rekommenderas): Ange en kvarhållningsprincip på databasnivå och ange en kvarhållningsprincip på tabellnivå.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Alternativ 2: För varje tabell anger du en kvarhållningsprincip på tabellnivå med relevant mjuk borttagningsperiod och återställningsbarhet.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Mjuk borttagningsperiod på sju dagar och MySpecialTable
behåller data på obestämd tid
Ange tabeller MyTable1
och MyTable2
för att ha en mjuk borttagningsperiod på sju dagar och ha MySpecialTable
kvar sina data på obestämd tid.
Alternativ 1: Ange en kvarhållningsprincip på databasnivå och ange en kvarhållningsprincip på tabellnivå med en mjuk borttagningsperiod på 100 år, standardkvarhållningsprincipen för
MySpecialTable
..delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
Alternativ 2: För tabeller
MyTable1
ochMyTable2
anger du en kvarhållningsprincip på tabellnivå och kontrollerar att principen påMySpecialTable
databasnivå och tabellnivå inte har angetts..delete database MyDatabase policy retention // optional, only if the database previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d
Alternativ 3: För tabeller
MyTable1
ochMyTable2
anger du en kvarhållningsprincip på tabellnivå. För tabellMySpecialTable
anger du en kvarhållningsprincip på tabellnivå med en mjuk borttagningsperiod på 100 år, standardprincipen för kvarhållning..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för