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 auf Disabled.
  • 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 Enabledist, 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

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, MyTable2und 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, und MyTable2 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 und MyTable2, legen Sie eine Aufbewahrungsrichtlinie auf Tabellenebene fest, und stellen Sie sicher, dass die Richtlinie MySpecialTable 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 und MyTable2, eine Aufbewahrungsrichtlinie auf Tabellenebene fest. Legen Sie für die Tabelle eine Aufbewahrungsrichtlinie auf Tabellenebene MySpecialTablemit 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 "{}"