Bewaarbeleid
Het bewaarbeleid bepaalt het mechanisme waarmee gegevens automatisch worden verwijderd uit tabellen of gerealiseerde weergaven. Het is handig om gegevens te verwijderen die continu in een tabel stromen en waarvan de relevantie is gebaseerd op leeftijd. Het beleid kan bijvoorbeeld worden gebruikt voor een tabel die diagnostische gebeurtenissen bevat die na twee weken oninteresserend kunnen worden.
Het bewaarbeleid kan worden geconfigureerd voor een specifieke tabel of gerealiseerde weergave, of voor een hele database. Het beleid is vervolgens van toepassing op alle tabellen in de database die het niet overschrijven. Wanneer het beleid zowel op database- als tabelniveau is geconfigureerd, heeft het bewaarbeleid in de tabel voorrang op het databasebeleid.
Het instellen van een bewaarbeleid is belangrijk voor clusters die continu gegevens opnemen, waardoor de kosten worden beperkt.
Gegevens die zich 'buiten' het bewaarbeleid bevinden, komen in aanmerking voor verwijdering. Er is geen specifieke garantie wanneer de verwijdering plaatsvindt. Gegevens kunnen 'blijven hangen', zelfs als het bewaarbeleid wordt geactiveerd.
Het bewaarbeleid wordt meestal ingesteld om de leeftijd van de gegevens sinds de opname te beperken. Zie SoftDeletePeriod voor meer informatie.
Notitie
- De verwijderingstijd is onnauwkeurig. Het systeem garandeert dat gegevens niet worden verwijderd voordat de limiet wordt overschreden, maar de verwijdering is niet onmiddellijk na dat punt.
- Een periode voor voorlopig verwijderen van 0 kan worden ingesteld als onderdeel van een bewaarbeleid op tabelniveau, maar niet als onderdeel van een bewaarbeleid op databaseniveau.
- Wanneer dit is gebeurd, worden de opgenomen gegevens niet doorgevoerd in de brontabel, waardoor de gegevens niet moeten worden bewaard. Als gevolg hiervan
Recoverability
kan alleen worden ingesteld opDisabled
. - Een dergelijke configuratie is vooral handig wanneer de gegevens worden opgenomen in een tabel. Een transactioneel updatebeleid wordt gebruikt om het te transformeren en de uitvoer om te leiden naar een andere tabel.
Het beleidsobject
Een bewaarbeleid bevat de volgende eigenschappen:
- SoftDeletePeriod:
- De tijdsperiode waarvoor het gegarandeerd is dat de gegevens beschikbaar blijven om query's uit te voeren. De periode wordt gemeten vanaf het moment dat de gegevens zijn opgenomen.
- De standaardwaarde is
100 years
. - Wanneer u de periode voor voorlopig verwijderen van een tabel of database wijzigt, is de nieuwe waarde van toepassing op zowel bestaande als nieuwe gegevens.
- Herstelbaarheid:
- Herstelbaarheid van gegevens (ingeschakeld/uitgeschakeld) nadat de gegevens zijn verwijderd.
- De standaardwaarde is
Enabled
. - Als deze optie is ingesteld op
Enabled
, kunnen de gegevens gedurende 14 dagen nadat ze voorlopig zijn verwijderd, worden hersteld. - Het is niet mogelijk om de herstelperiode te configureren.
Opdrachten voor beheer
- Gebruik
.show policy retention
dit diagram om het huidige bewaarbeleid voor een database, tabel of gerealiseerde weergave weer te geven. - Gebruik
.alter policy retention
om het huidige bewaarbeleid van een database, tabel of gerealiseerde weergave te wijzigen.
Standaardwaarden
Wanneer een database of tabel wordt gemaakt, is standaard geen bewaarbeleid gedefinieerd. Normaal gesproken wordt de database gemaakt en wordt het bewaarbeleid onmiddellijk ingesteld door de maker volgens de bekende vereisten.
Wanneer u een .show
opdracht uitvoert voor het bewaarbeleid van een database of tabel waarvoor geen beleid is ingesteld, Policy
wordt weergegeven als null
.
Het standaardbewaarbeleid, met de hierboven genoemde standaardwaarden, kan worden toegepast met behulp van de volgende opdracht.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
De opdracht resulteert in het volgende beleidsobject toegepast op de database of tabel.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
U kunt het bewaarbeleid van een database of tabel wissen met behulp van de volgende opdracht.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Voorbeelden
Voor een cluster met een database met de naam MyDatabase
, met tabellen MyTable1
, MyTable2
en MySpecialTable
.
Periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld
Stel in dat alle tabellen in de database een periode voor voorlopig verwijderen van zeven dagen hebben en herstelmogelijkheden zijn uitgeschakeld.
Optie 1 (aanbevolen): stel een bewaarbeleid op databaseniveau in en controleer of er geen beleid op tabelniveau is ingesteld.
.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
Optie 2: Stel voor elke tabel een bewaarbeleid op tabelniveau in, met een periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld.
.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
Periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden ingeschakeld
Stel tabellen
MyTable1
in enMyTable2
laat een periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld.Ingesteld
MySpecialTable
op een periode van 14 dagen voor voorlopig verwijderen en herstelmogelijkheden hebben ingeschakeld.Optie 1 (aanbevolen): stel een bewaarbeleid op databaseniveau in en stel een bewaarbeleid op tabelniveau in.
.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
Optie 2: Stel voor elke tabel een bewaarbeleid op tabelniveau in, met de relevante periode voor voorlopig verwijderen en herstelmogelijkheden.
.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
Periode voor voorlopig verwijderen van zeven dagen en MySpecialTable
de gegevens blijven voor onbepaalde tijd behouden
Stel tabellen MyTable1
in en MyTable2
om een periode van zeven dagen voor voorlopig verwijderen te hebben en de gegevens voor onbepaalde tijd te bewaren MySpecialTable
.
Optie 1: stel een bewaarbeleid op databaseniveau in en stel een bewaarbeleid op tabelniveau in met een periode voor voorlopig verwijderen van 100 jaar, het standaardretentiebeleid voor
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
Optie 2: stel voor tabellen
MyTable1
enMyTable2
een bewaarbeleid op tabelniveau in en controleer of het beleid op database- en tabelniveau voorMySpecialTable
niet is ingesteld..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
Optie 3: stel voor tabellen
MyTable1
enMyTable2
een bewaarbeleid op tabelniveau in. Stel voor tabelMySpecialTable
een bewaarbeleid op tabelniveau in met een periode voor voorlopig verwijderen van 100 jaar, het standaardbewaarbeleid..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.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor