Freigeben über


Befehl ".drop extents"

Legt Ausdehnungen aus einer angegebenen Datenbank oder Tabelle ab.

Dieser Befehl verfügt über mehrere Varianten: In einem werden die zu verworfenen Bereiche durch eine Kusto-Abfrage angegeben. In den anderen Varianten werden Soweit mithilfe einer unten beschriebenen Minisprache angegeben.

Hinweis

Datenshards werden als Erweiterungen bezeichnet, und alle Befehle verwenden "extent" oder "extents" als Synonym. Weitere Informationen zu Ausmaßen finden Sie unter "Extents(Data Shards)" (Übersicht).

Achtung

Wenn Sie eine Erweiterung löschen, werden alle Zeilen in diesem Umfang gelöscht. Verwenden Sie "Vorläufiges Löschen", um einzelne Datensätze zu löschen.

Berechtigungen

Wenn " TableName " angegeben ist, müssen Sie mindestens über Tabellenadministratorberechtigungen verfügen, um den Befehl auszuführen.

Wenn " TableName " nicht angegeben ist, müssen Sie mindestens über Datenbankadministratorberechtigungen verfügen, um den Befehl auszuführen.

Syntax

Drop-Erweiterungen mit einer Abfrage

.dropextents [whatif] <| Abfrage

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
whatif string Wenn angegeben, werden die Ausmaße gemeldet, anstatt verworfen zu werden.
Abfrage string ✔️ Die Ergebnisse dieser Kusto-Abfragesprache -Abfrage (KQL) geben die Quelltabellen und den Umfang der verworfenen IDs an. Sollte ein Recordset mit Spalten namens "ExtentId" und "TableName" zurückgeben.

Ablegen eines bestimmten oder mehrerer Ausmaße

.dropextents (ExtentIds) from TableName

Parameter

Name Type Erforderlich Beschreibung
ExtentIds guid ✔️ Mindestens ein durch Kommas getrennte eindeutiger Bezeichner der zu verworfenen Ausmaße.
TableName string Der Name der Tabelle, in der sich das Verworfene befindet.

Drop-Ausmaße durch angegebene Eigenschaften

.dropextents [older N (dayshours | )] from (TableName | tablesall ) [trim by ( | extentsizedatasize) Size (GB | bytesMB | )] [limit LimitCount]

Parameter

Name Type Erforderlich Beschreibung
N int ✔️ Drop-Ausmaße älter als N Tage/Stunden.
TableName string Der Name der Tabelle, in der sich das Verworfene befindet
Größe int ✔️ Kürzen Sie die Daten in der Datenbank, bis die Summe der Ausdehnungen mit der erforderlichen Größe übereinstimmt (MaxSize).
LimitCount int ✔️ Wird auf das erste LimitCount-Ausmaß angewendet.

Der Befehl unterstützt den Emulationsmodus, der eine Ausgabe erzeugt, als würde der Befehl ausgeführt werden, ohne ihn tatsächlich auszuführen. Verwenden Sie .drop-pretend anstelle von .drop.

Gibt zurück

Der Befehl gibt eine Tabelle mit den folgenden Informationen zurück.

Ausgabeparameter Typ Beschreibung
ExtentId string ExtentId, die aufgrund des Befehls gelöscht wurde
TableName string Tabellenname, wobei der Umfang gehört
CreatedOn dateTime Zeitstempel, der Informationen darüber enthält, wann der Umfang ursprünglich erstellt wurde

Der Rückgabewert eines Befehls könnte beispielsweise wie in der folgenden Tabelle aussehen.

Umfangs-ID Tabellenname Erstellungszeitpunkt
43c6e03f-1713-4ca7-a52a-5db8a4e8b87d TestTable 2015-01-12 12:48:49.4298178

Beispiele

Ablegen eines bestimmten Umfangs

Verwenden Sie eine Erweiterungs-ID, um ein bestimmtes Ausmaß zu löschen.

.drop extent 609ad1e2-5b1c-4b79-90c0-1dec262e9f46 from Table1

Mehrere Ausdehnungen ablegen

Verwenden Sie eine Liste der Erweiterungs-IDs, um mehrere Ausmaße abzulegen.

.drop extents (609ad1e2-5b1c-4b79-90c0-1dec262e9f46, 310a60c6-8529-4cdf-a309-fe6aa7857e1d) from Table1

Entfernen aller Ausmaße nach Erstellungszeit

Entfernen aller vor mehr als 10 Tagen erstellten Erweiterungen aus allen Tabellen in der Datenbank MyDatabase

.drop extents <| .show database MyDatabase extents | where CreatedOn < now() - time(10d)

Entfernen einiger Bereiche nach Erstellungszeit

Entfernen aller Ausdehnungen in Tabellen Table1 und Table2 deren Erstellungszeit vor mehr als 10 Tagen

.drop extents older 10 days from tables (Table1, Table2)

Entfernen eines Umfangs mithilfe von extent_id()

Entfernen Sie ein Ausmaß aus einer Tabelle mithilfe der integrierten extent_id() Funktion.

.drop extents  <|
    StormEvents
    | where EventId == '66144'
    | summarize by ExtentId = extent_id(), TableName = "StormEvents"

Emulationsmodus: Anzeigen, welche Erweiterungen durch den Befehl entfernt werden würden

Hinweis

Der Parameter "Extent ID" ist für diesen Befehl nicht anwendbar.

.drop-pretend extents older 10 days from all tables

Entfernen aller Ausdehnungen von "TestTable"

.drop extents from TestTable

Hinweis

Wenn die Aufnahme von Streaming aktiviert ist, werden nicht unbedingt alle Daten in der Tabelle entfernt. Um alle Daten einer Tabelle zu löschen, verwenden Sie .clear table data TestTable.