Freigeben über


Datenbereinigung

Hinweis

Dieser Artikel enthält eine ausführliche Vorgehensweise zum Löschen personenbezogener Daten vom Gerät oder aus dem Dienst, die Sie bei Ihren Pflichten gemäß der DSGVO unterstützen kann. Allgemeine Informationen zur DSGVO finden Sie im Abschnitt zur DSGVO im Microsoft Trust Center und im Abschnitt zur DSGVO im Service Trust Portal.

Als Datenplattform unterstützt Azure Data Explorer die Möglichkeit, einzelne Datensätze mithilfe von Kusto .purge und verwandten Befehlen zu löschen. Sie können auch eine gesamte Tabelle löschen oder Datensätze in einer materialisierten Ansicht löschen.

Warnung

Das Löschen von Daten über den .purge Befehl dient zum Schutz personenbezogener Daten und sollte in anderen Szenarien nicht verwendet werden. Es ist nicht für die Unterstützung häufiger Löschanforderungen oder das Löschen großer Datenmengen konzipiert und kann erhebliche Auswirkungen auf die Leistung des Diensts haben.

Richtlinien zur Bereinigung

Entwerfen Sie Ihr Datenschema sorgfältig, und untersuchen Sie relevante Richtlinien, bevor Sie personenbezogene Daten in Azure Data Explorer speichern.

  1. Im besten Fall ist der Aufbewahrungszeitraum für diese Daten ausreichend kurz, und die Daten werden automatisch gelöscht.
  2. Wenn die Nutzung des Aufbewahrungszeitraums nicht möglich ist, isolieren Sie alle Daten, die Datenschutzregeln unterliegen, in einigen Azure Data Explorer-Tabellen. Optimalerweise verwenden Sie nur eine Tabelle, und verknüpfen Sie sie aus allen anderen Tabellen. Diese Isolation ermöglicht es Ihnen, den Datenlöschprozess für einige Tabellen mit vertraulichen Daten auszuführen und alle anderen Tabellen zu vermeiden.
  3. Der Aufrufer sollte jeden Versuch unternehmen, die Ausführung von .purge Befehlen in 1 bis 2 Befehle pro Tabelle und Tag zu batchen. Geben Sie nicht mehrere Befehle mit eindeutigen Benutzeridentitäts-Prädikaten aus. Senden Sie stattdessen einen einzelnen Befehl, dessen Prädikat alle Benutzeridentitäten enthält, die eine Bereinigung erfordern.

Löschprozess

Das selektive Löschen von Daten aus Azure Data Explorer erfolgt in den folgenden Schritten:

  1. Phase 1: Geben Sie eine Eingabe mit einem Azure Data Explorer Tabellennamen und einem Prädikat pro Datensatz an, der angibt, welche Datensätze gelöscht werden sollen. Kusto scannt die Tabelle, um Datenblöcke zu identifizieren, die an der Datenbereinigung beteiligt sind. Bei den identifizierten Blöcken handelt es sich um Blöcke mit einem oder mehreren Datensätzen, für die das Prädikat true zurückgibt.

  2. Phase 2: (Vorläufiges Löschen) Ersetzen Sie jeden Datenumfang in der Tabelle (identifiziert in Schritt (1)) durch eine neu erfasste Version. Die neu erfasste Version sollte nicht über die Datensätze verfügen, für die das Prädikat true zurückgibt. Wenn keine neuen Daten in der Tabelle erfasst werden, geben Abfragen am Ende dieser Phase keine Daten mehr zurück, für die das Prädikat true zurückgibt. Die Dauer der Phase des vorläufigen Löschens hängt von den folgenden Parametern ab:

    • Die Anzahl der Datensätze, die gelöscht werden müssen
    • Datensatzverteilung über die Datenblöcke im Cluster
    • Die Anzahl der Knoten im Cluster
    • Die freie Kapazität, über die es für Löschvorgänge verfügt
    • Mehrere andere Faktoren

    Die Dauer von Phase 2 kann zwischen einigen Sekunden und vielen Stunden variieren.

  3. Phase 3: (Hartes Löschen) Arbeiten Sie alle Speicherartefakte zurück, die möglicherweise die "vergifteten" Daten enthalten, und löschen Sie sie aus dem Speicher. Diese Phase erfolgt mindestens fünf Tage nach Abschluss der vorherigen Phase, jedoch nicht länger als 30 Tage nach dem ersten Befehl. Diese Zeitachsen sind so festgelegt, dass sie den Datenschutzanforderungen entsprechen.

Das Ausgeben eines .purge Befehls löst diesen Prozess aus, der einige Tage dauert. Wenn die Dichte der Datensätze, für die das Prädikat gilt, ausreichend groß ist, erfasst der Prozess effektiv alle Daten in der Tabelle. Diese Wiederaufnahme hat erhebliche Auswirkungen auf die Leistung und die COGS (Kosten der verkauften Waren).

Bereinigen von Einschränkungen und Überlegungen

  • Der Bereinigungsvorgang ist endgültig und kann nicht rückgängig gemacht werden. Es ist nicht möglich, diesen Prozess rückgängig zu machen oder Daten wiederherzustellen, die gelöscht wurden. Mithilfe von Befehlen wie dem Löschen rückgängiger Tabellen können gelöschte Daten nicht wiederhergestellt werden. Das Rollback der Daten auf eine frühere Version kann vor dem letzten Löschbefehl nicht zu wechseln.

  • Überprüfen Sie vor dem Ausführen der Bereinigung das Prädikat, indem Sie eine Abfrage ausführen und überprüfen, ob die Ergebnisse mit dem erwarteten Ergebnis übereinstimmen. Sie können auch den zweistufigen Prozess verwenden, der die erwartete Anzahl von Datensätzen zurückgibt, die gelöscht werden sollen.

  • Der .purge Befehl wird für den Datenverwaltung Endpunkt ausgeführt: https://ingest-[YourClusterName].[region].kusto.windows.net. Der Befehl erfordert Berechtigungen vom Typ Datenbankadministrator für die relevanten Datenbanken.

  • Aufgrund der Auswirkungen auf die Leistung des Bereinigungsprozesses und um sicherzustellen, dass die Bereinigungsrichtlinien eingehalten wurden, wird erwartet, dass der Aufrufer das Datenschema so ändert, dass minimale Tabellen relevante Daten und Batchbefehle pro Tabelle enthalten, um die erheblichen COGS-Auswirkungen des Löschprozesses zu verringern.

  • Der predicate Parameter des Befehls ".purge " wird verwendet, um anzugeben, welche Datensätze gelöscht werden sollen. Predicate Die Größe ist auf 1 MB beschränkt. Beim Erstellen von predicate:

    • Verwenden Sie den Operator "in", z. B where [ColumnName] in ('Id1', 'Id2', .. , 'Id1000'). .
    • Beachten Sie die Grenzwerte des "in"-Operators (Liste kann bis zu 1,000,000 Werte enthalten).
    • Wenn die Abfragegröße groß ist, verwenden Sie externaldata den Operator, z. B where UserId in (externaldata(UserId:string) ["https://...blob.core.windows.net/path/to/file?..."]). . In der Datei wird die Liste der zu löschenden IDs gespeichert.
    • Die Gesamtabfragegröße darf nach dem Erweitern aller externaldata Blobs (Gesamtgröße aller Blobs) 64 MB nicht überschreiten.

Bereinigung der Leistung

Für den Cluster kann zu einem bestimmten Zeitpunkt nur eine Bereinigungsanforderung ausgeführt werden. Alle anderen Anforderungen werden im Zustand in die Scheduled Warteschlange eingereiht. Überwachen Sie die Größe der Löschanforderungswarteschlange, und halten Sie sich innerhalb angemessener Grenzen, um die für Ihre Daten geltenden Anforderungen zu erfüllen.

So verringern Sie die Ausführungszeit für die Bereinigung:

Auslösen des Bereinigungsprozesses

Hinweis

Die Bereinigungsausführung wird durch Ausführen des Tabellenlöschbefehls TableName records auf dem Datenverwaltung Endpunkt https://ingest-[YourClusterName][ aufgerufen. Region].kusto.windows.net.

Befehl " TableName records" bereinigen

Der Befehl "Bereinigen" kann für unterschiedliche Verwendungsszenarien auf zwei Arten aufgerufen werden:

  • Programmgesteuerter Aufruf: Ein einzelner Schritt, der von Anwendungen aufgerufen werden soll. Wenn Sie diesen Befehl direkt aufrufen, wird eine Löschausführungssequenz ausgelöst.

    Syntax

    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"
    
    // To purge table records
    .purge table [TableName] records in database [DatabaseName] with (noregrets='true') <| [Predicate]
    
    // To purge materialized view records
    .purge materialized-view [MaterializedViewName] records in database [DatabaseName] with (noregrets='true') <| [Predicate]
    
  • Aufruf durch eine Person: Ein zweistufiger Prozess, für den als separater Schritt eine explizite Bestätigung erforderlich ist. Der erste Aufruf des Befehls gibt ein Überprüfungstoken zurück, das zum Ausführen der eigentlichen Bereinigung bereitgestellt werden sollte. Diese Sequenz verringert das Risiko, dass versehentlich falsche Daten gelöscht werden.

Hinweis

Im ersten Schritt des zweistufigen Aufrufs muss eine Abfrage für das gesamte Dataset ausgeführt werden, um zu löschende Datensätze zu identifizieren. Für diese Abfrage kann ein Timeout oder ein Fehler bei großen Tabellen auftreten, insbesondere bei einer erheblichen Menge an Kaltcachedaten. Überprüfen Sie im Falle von Fehlern das Prädikat selbst, und verwenden Sie nach der Überprüfung der Richtigkeit die einstufige Bereinigung mit der noregrets Option.

Syntax

Hinweis

Informationen zum Herstellen einer Verbindung mit einem Cluster über die Azure Data Explorer-Weboberfläche finden Sie unter Hinzufügen von Clustern.

   // Connect to the Data Management service - this command only works in Kusto.Explorer
   #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

   // Step #1 - retrieve a verification token (no records will be purged until step #2 is executed)
   .purge table [TableName] records in database [DatabaseName] <| [Predicate]

   // Step #2 - input the verification token to execute purge
   .purge table [TableName] records in database [DatabaseName] with (verificationtoken=h'<verification token from step #1>') <| [Predicate]

Um eine materialisierte Sicht zu bereinigen, ersetzen Sie die table Schlüsselwort (keyword) durch materialized-view, und ersetzen Sie TableName durch MaterializedViewName.

Parameter BESCHREIBUNG
DatabaseName Name der Datenbank
TableName / MaterializedViewName Name der tabelle/materialisierten Sicht, die gelöscht werden soll.
Predicate Identifiziert die zu bereinigenden Datensätze. Weitere Informationen finden Sie unter Einschränkungen für Das Bereinigen von Prädikaten.
noregrets Wenn festgelegt, wird eine Aktivierung in einem einzelnen Schritt ausgelöst.
verificationtoken Im Szenario der zweistufigen Aktivierung (noregrets ist nicht festgelegt) kann dieses Token verwendet werden, um den zweiten Schritt auszuführen und die Aktion zu committen. Wenn verificationtoken nicht angegeben ist, wird der erste Schritt des Befehls ausgelöst. Informationen zur Bereinigung werden mit einem Token zurückgegeben, das an den Befehl zurückgegeben werden soll, um Schritt 2 auszuführen.

Einschränkungen beim Bereinigen von Prädikaten

  • Das Prädikat muss eine einfache Auswahl sein (z. B. wobei [ColumnName] == 'X'where / [ColumnName] in ('X', 'Y', 'Z') und [OtherColumn] == 'A').
  • Mehrere Filter müssen mit einem "und" kombiniert werden, anstatt separate where Klauseln (z. B. where [ColumnName] == 'X' and OtherColumn] == 'Y' und nicht where [ColumnName] == 'X' | where [OtherColumn] == 'Y').
  • Das Prädikat kann nicht auf andere Tabellen als die tabelle verweisen, die gelöscht wird (TableName). Das Prädikat kann nur die Auswahl-Anweisung (where) enthalten. Es kann keine bestimmten Spalten aus der Tabelle projizieren (Ausgabeschema bei Ausführung von 'table | Prädikat' muss mit dem Tabellenschema übereinstimmen).
  • Systemfunktionen (z. B. ingestion_time(), extent_id()) werden nicht unterstützt.

Beispiel: Zweistufige Bereinigung

Führen Sie Schritt 1 des Befehls aus, um die Bereinigung in einem zweistufigen Aktivierungsszenario zu starten:

   // Connect to the Data Management service
   #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

   .purge table MyTable records in database MyDatabase <| where CustomerId in ('X', 'Y')

   .purge materialized-view MyView records in database MyDatabase <| where CustomerId in ('X', 'Y')

Ausgabe

NumRecordsToPurge EstimatedPurgeExecutionTime VerificationToken
1\.596 00:00:02 e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b

Überprüfen Sie dann numRecordsToPurge, bevor Sie Schritt 2 ausführen.

Um eine Bereinigung in einem zweistufigen Aktivierungsszenario abzuschließen, verwenden Sie das aus Schritt 1 zurückgegebene Überprüfungstoken, um Schritt 2 auszuführen:

.purge table MyTable records in database MyDatabase
 with(verificationtoken=h'e43c7....')
<| where CustomerId in ('X', 'Y')

.purge materialized-view MyView records in database MyDatabase
 with(verificationtoken=h'e43c7....')
<| where CustomerId in ('X', 'Y')

Ausgabe

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Geplant 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...

Beispiel: Einstufiges Löschen

Führen Sie den folgenden Befehl aus, um eine Bereinigung in einem einstufigen Aktivierungsszenario auszulösen:

// Connect to the Data Management service
 #connect "https://ingest-[YourClusterName].[region].kusto.windows.net"

.purge table MyTable records in database MyDatabase with (noregrets='true') <| where CustomerId in ('X', 'Y')

.purge materialized-view MyView records in database MyDatabase with (noregrets='true') <| where CustomerId in ('X', 'Y')

Ausgabe

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Geplant 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...

Befehl "Löschvorgang abbrechen"

Bei Bedarf können Sie ausstehende Löschanforderungen abbrechen.

Hinweis

Dieser Vorgang ist für Fehlerwiederherstellungsszenarien vorgesehen. Der Erfolg ist nicht garantiert und sollte nicht Teil eines normalen Betriebsablaufs sein. Es kann nur auf Anforderungen angewendet werden, die sich noch in der Warteschlange befinden und noch nicht zur Ausführung gesendet wurden.

Syntax

 // Cancel of a single purge operation
 .cancel purge <OperationId>

  // Cancel of all pending purge requests in a database
 .cancel all purges in database <DatabaseName>

 // Cancel of all pending purge requests, for all databases
 .cancel all purges

Beispiel: Abbrechen eines einzelnen Bereinigungsvorgangs

 .cancel purge aa894210-1c60-4657-9d21-adb2887993e1

Ausgabe

Die Ausgabe dieses Befehls ist identisch mit der Befehlsausgabe "Show purges OperationId" und zeigt die aktualisierte status des abgebrochenen Löschvorgangs an. Wenn der Versuch erfolgreich ist, wird der Vorgangsstatus auf Canceledaktualisiert. Andernfalls wird der Vorgangsstatus nicht geändert.

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:00.1406211 2019-01-20 11:41:05.4391686 Canceled 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...

Beispiel: Abbrechen aller ausstehenden Bereinigungsvorgänge in einer Datenbank

 .cancel all purges in database MyDatabase

Ausgabe

Die Ausgabe dieses Befehls ist identisch mit der Ausgabe des Befehls "Löschvorgänge anzeigen" und zeigt alle Vorgänge in der Datenbank mit ihren aktualisierten status an. Vorgänge, die erfolgreich abgebrochen wurden, werden ihre status auf Canceledaktualisiert. Andernfalls wird der Vorgangsstatus nicht geändert.

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
5a34169e-8730-49f5-9694-7fde3a7a0139 MyDatabase MyTable 2021-03-03 05:07:29.7050198 00:00:00.2971331 2021-03-03 05:07:30.0021529 Canceled 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...
2fa7c04c-6364-4ce1-a5e5-1ab921f518f5 MyDatabase MyTable 2021-03-03 05:05:03.5035478 00:00:00.1406211 2021-03-03 05:05:03.6441689 InProgress 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...

Nachverfolgen des Löschvorgangs status

Hinweis

Löschvorgänge können mit dem Befehl show purges nachverfolgt werden, der für den Datenverwaltung Endpunkt https://ingest-[YourClusterName][ ausgeführt wird. region].kusto.windows.net.

Status = "Abgeschlossen" gibt an, dass die erste Phase des Löschvorgangs erfolgreich abgeschlossen wurde, d. h. Datensätze werden vorläufig gelöscht und stehen nicht mehr für Abfragen zur Verfügung. Es wird nicht erwartet, dass Kunden den Abschluss der zweiten Phase (hartes Löschen) nachverfolgen und überprüfen. Diese Phase wird intern von Azure Data Explorer überwacht.

Befehl "Löschungen anzeigen"

Show purgeszeigt den Löschvorgang status an, indem die Vorgangs-ID innerhalb des angeforderten Zeitraums angegeben wird.

.show purges <OperationId>
.show purges [in database <DatabaseName>]
.show purges from '<StartDate>' [in database <DatabaseName>]
.show purges from '<StartDate>' to '<EndDate>' [in database <DatabaseName>]
Eigenschaften BESCHREIBUNG Obligatorisch/Optional
OperationId Die Datenverwaltung Vorgangs-ID, die nach dem Ausführen einer einzelnen oder zweiten Phase ausgegeben wird. Obligatorisch.
StartDate Niedrigeres Zeitlimit für Filtervorgänge. Wenn nicht angegeben, wird standardmäßig 24 Stunden vor dem aktuellen Zeitpunkt angegeben. Optional
EndDate Oberes Zeitlimit für Filtervorgänge. Wenn die Angabe ausgelassen wird, wird standardmäßig die aktuelle Zeit verwendet. Optional
DatabaseName Datenbankname zum Filtern von Ergebnissen. Optional

Hinweis

Der Status wird nur für Datenbanken bereitgestellt, für die der Client über Datenbank-Admin-Berechtigungen verfügt.

Beispiele

.show purges
.show purges c9651d74-3b80-4183-90bb-bbe9e42eadc4
.show purges from '2018-01-30 12:00'
.show purges from '2018-01-30 12:00' to '2018-02-25 12:00'
.show purges from '2018-01-30 12:00' to '2018-02-25 12:00' in database MyDatabase

Ausgabe

OperationId DatabaseName TableName ScheduledTime Duration LastUpdatedOn EngineOperationId State StateDetails EngineStartTime EngineDuration Retries ClientRequestId Principal
c9651d74-3b80-4183-90bb-bbe9e42eadc4 MyDatabase MyTable 2019-01-20 11:41:05.4391686 00:00:33.6782130 2019-01-20 11:42:34.6169153 a0825d4d-6b0f-47f3-a499-54ac5681ab78 Abgeschlossen Die Bereinigung wurde erfolgreich abgeschlossen (Speicherartefakte stehen aus, die gelöscht werden) 2019-01-20 11:41:34.6486506 00:00:04.4687310 0 KE. Ausführenbefehl; 1d0ad28b-f791-4f5a-a60f-0e32318367b7b7 AAD app id=...
  • OperationId – die DM-Vorgangs-ID, die beim Ausführen der Bereinigung zurückgegeben wird.
  • DatabaseName** – Datenbankname (Groß-/Kleinschreibung beachten).
  • TableName – Tabellenname (Groß-/Kleinschreibung beachten).
  • ScheduledTime – Zeitpunkt der Ausführung des Löschbefehls für den DM-Dienst.
  • Duration – Gesamtdauer des Bereinigungsvorgangs, einschließlich der Wartezeit der Dm-Warteschlange für die Ausführung.
  • EngineOperationId : Die Vorgangs-ID der tatsächlichen Bereinigung, die in der Engine ausgeführt wird.
  • State - Löschzustand, kann einer der folgenden Werte sein:
    • Scheduled - Der Löschvorgang wird für die Ausführung geplant. Wenn der Auftrag geplant bleibt, liegt wahrscheinlich ein Backlog von Löschvorgängen vor. Informationen zum Löschen dieses Backlogs finden Sie unter Bereinigungsleistung . Wenn ein Bereinigungsvorgang aufgrund eines vorübergehenden Fehlers fehlschlägt, wird er von der DM wiederholt und erneut auf Geplant festgelegt (sodass möglicherweise ein Vorgangsübergang von Geplant zu InProgress und zurück zu Geplant angezeigt wird).
    • InProgress – Der Bereinigungsvorgang wird in der Engine ausgeführt.
    • Completed – Die Bereinigung wurde erfolgreich abgeschlossen.
    • BadInput – Fehler beim Bereinigen bei fehlerhafter Eingabe und wird nicht wiederholt. Dieser Fehler kann auf verschiedene Probleme zurückzuführen sein, z. B. ein Syntaxfehler im Prädikat, ein illegales Prädikat für Löschbefehle, eine Abfrage, die Grenzwerte überschreitet (z. B. mehr als 1 Mio. Entitäten in einem externaldata Operator oder mehr als 64 MB erweiterte Abfragegröße) und 404 oder 403 Fehler für externaldata Blobs.
    • Failed – Fehler beim Bereinigen und wird nicht wiederholt. Dieser Fehler kann auftreten, wenn der Vorgang zu lange (über 14 Tage) in der Warteschlange gewartet hat, aufgrund eines Backlogs anderer Bereinigungsvorgänge oder einer Reihe von Fehlern, die den Wiederholungsgrenzwert überschreiten. Letzteres löst eine interne Überwachungswarnung aus und wird vom Azure Data Explorer-Team untersucht.
  • StateDetails - eine Beschreibung des Staates.
  • EngineStartTime – die Zeit, zu der der Befehl an die Engine ausgegeben wurde. Wenn es einen großen Unterschied zwischen dieser Zeit und ScheduledTime gibt, gibt es in der Regel einen erheblichen Rückstand von Löschvorgängen, und der Cluster hält mit dem Tempo nicht Schritt.
  • EngineDuration - Zeit der tatsächlichen Bereinigungsausführung in der Engine. Wenn die Bereinigung mehrmals wiederholt wurde, ist dies die Summe aller Ausführungsdauern.
  • Retries – Anzahl der Wiederholungen des Vorgangs durch den DM-Dienst aufgrund eines vorübergehenden Fehlers.
  • ClientRequestId - Clientaktivitäts-ID der DM-Bereinigungsanforderung.
  • Principal – Identität des Ausstellers des Löschbefehls.

Bereinigen einer gesamten Tabelle

Das Bereinigen einer Tabelle umfasst das Löschen der Tabelle und das Markieren als gelöscht, sodass der unter Löschen des Prozesses beschriebene Prozess zum endgültigen Löschen darauf ausgeführt wird. Wenn Sie eine Tabelle löschen, ohne sie zu bereinigen, werden nicht alle zugehörigen Speicherartefakte gelöscht. Diese Artefakte werden gemäß der richtlinie für die feste Aufbewahrung gelöscht, die ursprünglich für die Tabelle festgelegt wurde. Der purge table allrecords Befehl ist schnell und effizient und ist dem Bereinigungsprozess von Datensätzen vorzuziehen, falls für Ihr Szenario zutreffend.

Hinweis

Der Befehl wird aufgerufen, indem der Befehl TableName allrecords für die Löschtabelle auf dem Datenverwaltung Endpunkt https://ingest-[YourClusterName][ ausgeführt wird. region].kusto.windows.net.

Befehl " TableName allrecords" bereinigen

Ähnlich wie beim Befehl '.purge table records ' kann dieser Befehl in einem programmgesteuerten (einstufigen) oder in einem manuellen (zweistufigen) Modus aufgerufen werden.

  1. Programmgesteuerter Aufruf (einzelschrittig):

    Syntax

    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    .purge table [TableName] in database [DatabaseName] allrecords with (noregrets='true')
    
  2. Aufruf des Menschen (in zwei Schritten):

    Syntax

    
    // Connect to the Data Management service
    #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    // Step #1 - retrieve a verification token (the table will not be purged until step #2 is executed)
    
    .purge table [TableName] in database [DatabaseName] allrecords
    
    // Step #2 - input the verification token to execute purge
    .purge table [TableName] in database [DatabaseName] allrecords with (verificationtoken=h'<verification token from step #1>')
    
    Parameter BESCHREIBUNG
    DatabaseName Der Name der Datenbank.
    TableName Der Name der Tabelle.
    noregrets Wenn festgelegt, wird eine Aktivierung in einem einzelnen Schritt ausgelöst.
    verificationtoken Im Szenario mit der zweistufigen Aktivierung (noregrets ist nicht festgelegt) kann dieses Token verwendet werden, um den zweiten Schritt auszuführen und die Aktion zu committen. Wenn verificationtoken nicht angegeben ist, wird der erste Schritt des Befehls ausgelöst. In diesem Schritt wird ein Token zurückgegeben, um an den Befehl zurückzugeben und Schritt 2 auszuführen.

Beispiel: Zweistufige Bereinigung

  1. Um die Bereinigung in einem zweistufigen Aktivierungsszenario zu starten, führen Sie Schritt 1 des Befehls aus:

    // Connect to the Data Management service
     #connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"
    
    .purge table MyTable in database MyDatabase allrecords
    

    Ausgabe

    VerificationToken
    e43c7184ed22f4f23c7a9d7b124d196be2e570096987e5baadf65057fa65736b
  2. Um eine Bereinigung in einem zweistufigen Aktivierungsszenario abzuschließen, verwenden Sie das aus Schritt 1 zurückgegebene Überprüfungstoken, um Schritt 2 auszuführen:

    .purge table MyTable in database MyDatabase allrecords
    with (verificationtoken=h'eyJT.....')
    

    Die Ausgabe entspricht der Befehlsausgabe ".show tables" (zurückgegeben ohne die gelöschte Tabelle).

    Ausgabe

    TableName DatabaseName Ordner DocString
    OtherTable MyDatabase --- ---

Beispiel: Einstufiges Löschen

Führen Sie den folgenden Befehl aus, um eine Bereinigung in einem einstufigen Aktivierungsszenario auszulösen:

// Connect to the Data Management service
#connect "https://ingest-[YourClusterName].[Region].kusto.windows.net"

.purge table MyTable in database MyDatabase allrecords with (noregrets='true')

Die Ausgabe entspricht der Befehlsausgabe ".show tables" (zurückgegeben ohne die gelöschte Tabelle).

Ausgabe

TableName DatabaseName Ordner DocString
OtherTable MyDatabase --- ---