Aufbewahrungsrichtlinie
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Die Aufbewahrungsrichtlinie steuert den Mechanismus, mit dem Daten automatisch aus Tabellen oder materialisierten Sichten entfernt werden. Es ist sinnvoll, Daten zu entfernen, die kontinuierlich in eine Tabelle einfließen und deren Relevanz altersabhängig ist. Die Richtlinie kann beispielsweise für eine Tabelle verwendet werden, die Diagnoseereignisse enthält, die nach zwei Wochen möglicherweise uninteressant werden.
Die Aufbewahrungsrichtlinie kann für eine bestimmte Tabellen- oder materialisierte Ansicht oder für eine gesamte Datenbank konfiguriert werden. Die Richtlinie gilt dann für alle Tabellen in der Datenbank, die sie nicht überschreiben. Wenn die Richtlinie sowohl auf Datenbank- als auch Tabellenebene konfiguriert ist, hat die Aufbewahrungsrichtlinie in der Tabelle Vorrang vor der Datenbankrichtlinie.
Das Einrichten einer Aufbewahrungsrichtlinie ist beim kontinuierlichen Aufnehmen von Daten wichtig, wodurch die Kosten begrenzt werden.
Daten, die "außerhalb" der Aufbewahrungsrichtlinie sind, können entfernt werden. Beim Entfernen gibt es keine spezifische Garantie. Daten können auch dann "verharren", wenn die Aufbewahrungsrichtlinie ausgelöst wird.
Die Aufbewahrungsrichtlinie ist am häufigsten so festgelegt, dass das Alter der Daten seit der Aufnahme begrenzt wird. Weitere Informationen finden Sie unter SoftDeletePeriod.
Hinweis
- Der Zeitpunkt der Löschung ist ungenau. Das System sorgt dafür, dass keine Daten gelöscht werden, bevor der Grenzwert überschritten ist, aber die Löschung erfolgt nicht unmittelbar nach diesem Zeitpunkt.
- Ein Vorläufiger Löschzeitraum von 0 kann als Teil einer Aufbewahrungsrichtlinie auf Tabellenebene, aber nicht als Teil einer Aufbewahrungsrichtlinie auf Datenbankebene festgelegt werden.
- Wenn dies der Fall ist, werden die aufgenommenen Daten nicht an die Quelltabelle gebunden und vermeiden, dass die Daten beibehalten werden müssen.
Recoverability
Daher kann nur aufDisabled
. - Eine solche Konfiguration ist hauptsächlich dann nützlich, wenn die Daten in eine Tabelle aufgenommen werden. Eine Transaktionsaktualisierungsrichtlinie wird verwendet, um sie zu transformieren und die Ausgabe in eine andere Tabelle umzuleiten.
- Die Aufbewahrungsrichtlinie für eine materialisierte Ansicht wirkt sich nur auf die Ansicht aus, nicht auf die Quelltabelle. Die Quelldaten bleiben unberührt.
Das Richtlinienobjekt
Eine Aufbewahrungsrichtlinie enthält die folgenden Eigenschaften:
- SoftDeletePeriod:
- Zeitraum, für den sichergestellt ist, dass die Daten für die Abfrage verfügbar gehalten werden. Der Zeitraum wird ab dem Zeitpunkt gemessen, zu dem die Daten aufgenommen wurden.
- Wird standardmäßig auf
1,000 years
festgelegt. - Beim Ändern des Vorläufigen Löschzeitraums einer Tabelle oder Datenbank gilt der neue Wert sowohl für vorhandene als auch für neue Daten.
- Wiederherstellbarkeit:
- Datenwiederherstellung (Aktiviert/Deaktiviert) nach dem Löschen der Daten.
- Wird standardmäßig auf
Enabled
festgelegt. - Wenn dieser Wert festgelegt
Enabled
ist, können die Daten 14 Tage nach dem vorläufigen Löschen wiederhergestellt werden. - Es ist nicht möglich, den Wiederherstellungszeitraum zu konfigurieren.
Befehle für Verwaltung
- Wird verwendet
.show policy retention
, um die aktuelle Aufbewahrungsrichtlinie für eine Datenbank, eine Tabelle oder eine materialisierte Ansicht anzuzeigen. - Dient
.alter policy retention
zum Ändern der aktuellen Aufbewahrungsrichtlinie einer Datenbank, einer Tabelle oder einer materialisierten Ansicht.
Standardwerte
Wenn eine Datenbank oder eine Tabelle erstellt wird, ist standardmäßig keine Aufbewahrungsrichtlinie definiert. Normalerweise wird die Datenbank erstellt und hat dann sofort die Aufbewahrungsrichtlinie durch ihren Ersteller gemäß bekannten Anforderungen festgelegt.
Wenn Sie einen Befehl für die Aufbewahrungsrichtlinie einer Datenbank oder Tabelle ausführen, für die die Richtlinie nicht festgelegt wurde, Policy
wird angezeigt als null
..show
Die Standardaufbewahrungsrichtlinie mit den oben genannten Standardwerten kann mit dem folgenden Befehl angewendet werden.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Der Befehl führt zu dem folgenden Richtlinienobjekt, das auf die Datenbank oder Tabelle angewendet wird.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
Das Löschen der Aufbewahrungsrichtlinie einer Datenbank oder Tabelle kann mit dem folgenden Befehl erfolgen.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Beispiele
Für eine Umgebung mit einer Datenbank mit dem Namen MyDatabase
", mit Tabellen MyTable1
, MyTable2
und MySpecialTable
.
Vorübergehender Löschzeitraum von sieben Tagen und Deaktivierte Wiederherstellbarkeit
Legen Sie alle Tabellen in der Datenbank so fest, dass sie einen Vorläufigen Löschzeitraum von sieben Tagen haben und die Wiederherstellbarkeit deaktiviert ist.
Option 1 (Empfohlen):Legen Sie eine Aufbewahrungsrichtlinie auf Datenbankebene fest, und stellen Sie sicher, dass keine Richtlinien auf Tabellenebene festgelegt sind.
.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
Option 2: Legen Sie für jede Tabelle eine Aufbewahrungsrichtlinie auf Tabellenebene fest, wobei ein vorläufiger Löschzeitraum von sieben Tagen und die Wiederherstellbarkeit deaktiviert ist.
.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
Vorläufiger Löschzeitraum von sieben Tagen und Aktivierter Wiederherstellbarkeit
Legen Sie Tabellen
MyTable1
fest, undMyTable2
legen Sie einen Vorläufigen Löschzeitraum von sieben Tagen fest, und die Wiederherstellbarkeit ist deaktiviert.Legen Sie
MySpecialTable
fest, dass ein Vorläufiger Löschzeitraum von 14 Tagen und die Wiederherstellbarkeit aktiviert ist.Option 1 (Empfohlen):Legen Sie eine Aufbewahrungsrichtlinie auf Datenbankebene fest, und legen Sie eine Aufbewahrungsrichtlinie auf Tabellenebene fest.
.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
Option 2: Legen Sie für jede Tabelle eine Aufbewahrungsrichtlinie auf Tabellenebene mit dem relevanten Vorläufigen Löschzeitraum und der Wiederherstellbarkeit fest.
.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
Vorübergehende Löschungsfrist von sieben Tagen und MySpecialTable
behält ihre Daten auf unbestimmte Zeit bei
Legen Sie Tabellen MyTable1
fest, und MyTable2
legen Sie einen Vorläufigen Löschzeitraum von sieben Tagen fest, und behalten MySpecialTable
Sie ihre Daten unbegrenzt bei.
Option 1: Festlegen einer Aufbewahrungsrichtlinie auf Datenbankebene und Festlegen einer Aufbewahrungsrichtlinie auf Tabellenebene mit einem vorläufigen Löschzeitraum von 1.000 Jahren, der Standardaufbewahrungsrichtlinie 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
Option 2: Legen Sie für Tabellen
MyTable1
undMyTable2
, legen Sie eine Aufbewahrungsrichtlinie auf Tabellenebene fest, und stellen Sie sicher, dass die RichtlinieMySpecialTable
auf Datenbankebene und auf Tabellenebene nicht festgelegt ist..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
Option 3: Legen Sie für Tabellen
MyTable1
undMyTable2
, eine Aufbewahrungsrichtlinie auf Tabellenebene fest. Legen Sie für die Tabelle eine Aufbewahrungsrichtlinie auf TabellenebeneMySpecialTable
mit einem vorläufigen Löschzeitraum von 1.000 Jahren fest, der Standardaufbewahrungsrichtlinie..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"