Aufbewahrungsrichtlinie
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 Tabelle oder materialisierte Sicht 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 auf Tabellenebene konfiguriert ist, hat die Aufbewahrungsrichtlinie in der Tabelle Vorrang vor der Datenbankrichtlinie.
Das Einrichten einer Aufbewahrungsrichtlinie ist wichtig für Cluster, die kontinuierlich Daten erfassen, wodurch die Kosten begrenzt werden.
Daten, die sich "außerhalb" der Aufbewahrungsrichtlinie befinden, können entfernt werden. Es gibt keine spezifische Garantie, wenn die Entfernung erfolgt. Daten können "verweilen", auch wenn die Aufbewahrungsrichtlinie ausgelöst wird.
Die Aufbewahrungsrichtlinie wird am häufigsten festgelegt, um das Alter der Daten seit der Erfassung zu begrenzen. 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 Zeitraum für vorläufiges Löschen von 0 kann als Teil einer Aufbewahrungsrichtlinie auf Tabellenebene festgelegt werden, jedoch nicht als Teil einer Aufbewahrungsrichtlinie auf Datenbankebene.
- Wenn dies geschehen ist, werden die erfassten Daten nicht in die Quelltabelle committet, sodass die Daten nicht beibehalten werden müssen.
Recoverability
Daher kann nur aufDisabled
festgelegt werden. - Eine solche Konfiguration ist vor allem nützlich, wenn die Daten in einer Tabelle erfasst werden. Eine Transaktionsaktualisierungsrichtlinie wird verwendet, um sie zu transformieren und die Ausgabe in eine andere Tabelle umzuleiten.
Das Richtlinienobjekt
Eine Aufbewahrungsrichtlinie enthält die folgenden Eigenschaften:
- SoftDeletePeriod:
- Zeitspanne, für die garantiert ist, dass die Daten für Abfragen verfügbar bleiben. Der Zeitraum wird ab dem Zeitpunkt gemessen, zu dem die Daten erfasst wurden.
- Wird standardmäßig auf
100 years
festgelegt. - Beim Ändern des Zeitraums für vorläufiges Löschen einer Tabelle oder Datenbank gilt der neue Wert sowohl für vorhandene als auch für neue Daten.
- Wiederherstellbarkeit:
- Wiederherstellbarkeit der Daten (aktiviert/deaktiviert), nachdem die Daten gelöscht wurden.
- Der Standardwert lautet
Enabled
. - Bei Festlegung auf
Enabled
können die Daten 14 Tage lang wiederhergestellt werden, nachdem sie vorläufig gelöscht wurden. - Es ist nicht möglich, den Wiederherstellungszeitraum zu konfigurieren.
Befehle für Verwaltung
- Verwenden Sie
.show policy retention
, um die aktuelle Aufbewahrungsrichtlinie für eine Datenbank, Tabelle oder materialisierte Sicht anzuzeigen. - Verwenden Sie
.alter policy retention
, um die aktuelle Aufbewahrungsrichtlinie einer Datenbank, Tabelle oder materialisierten Sicht zu ändern.
Standardeinstellungen
Wenn eine Datenbank oder Tabelle erstellt wird, ist standardmäßig keine Aufbewahrungsrichtlinie definiert. Normalerweise wird die Datenbank erstellt, und die Aufbewahrungsrichtlinie wird dann sofort vom Ersteller gemäß den bekannten Anforderungen festgelegt.
Wenn Sie einen .show
Befehl für die Aufbewahrungsrichtlinie einer Datenbank oder Tabelle ausführen, deren Richtlinie nicht festgelegt wurde, Policy
wird als null
angezeigt.
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 dazu, dass das folgende Richtlinienobjekt auf die Datenbank oder Tabelle angewendet wird.
{
"SoftDeletePeriod": "36500.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 einen Cluster mit einer Datenbank mit dem Namen MyDatabase
, mit den Tabellen MyTable1
, MyTable2
und MySpecialTable
.
Zeitraum für vorläufiges Löschen von sieben Tagen und Deaktivierte Wiederherstellbarkeit
Legen Sie für alle Tabellen in der Datenbank einen Zeitraum von sieben Tagen für vorläufiges Löschen fest, und deaktivieren Sie die Wiederherstellung.
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 mit einem Zeitraum von sieben Tagen und deaktivierter 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 = 7d recoverability = disabled
Zeitraum für vorläufiges Löschen von sieben Tagen und Aktivierte Wiederherstellbarkeit
Legen Sie Tabellen
MyTable1
fest, umMyTable2
einen Zeitraum für vorläufiges Löschen von sieben Tagen und die Wiederherstellbarkeit deaktiviert zu haben.Legen Sie
MySpecialTable
fest, dass ein Zeitraum für vorläufiges Löschen von 14 Tagen und die Wiederherstellungsfähigkeit 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
Vorläufiger Löschzeitraum von sieben Tagen und MySpecialTable
Aufbewahrung der Daten auf unbestimmte Zeit
Legen Sie Tabellen MyTable1
fest, MyTable2
um einen Zeitraum für vorläufiges Löschen von sieben Tagen zu haben, und behalten MySpecialTable
Sie die Daten auf unbestimmte Zeit.
Option 1: Festlegen einer Aufbewahrungsrichtlinie auf Datenbankebene und Festlegen einer Aufbewahrungsrichtlinie auf Tabellenebene mit einem Vorläufigen Löschzeitraum von 100 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
eine Aufbewahrungsrichtlinie auf Tabellenebene fest, und stellen Sie sicher, dass die Richtlinie auf Datenbank- und Tabellenebene fürMySpecialTable
nicht festgelegt sind..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 TabelleMySpecialTable
eine Aufbewahrungsrichtlinie auf Tabellenebene mit einem Zeitraum von 100 Jahren fest, die Standardaufbewahrungsrichtlinie..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.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für