Condividi tramite


Comando .drop extents

Si applica a: ✅Microsoft FabricAzure Esplora dati

Elimina gli extent da un database o da una tabella specificata.

Questo comando include diverse varianti: in una, gli extent da eliminare vengono specificati da una query Kusto. Nelle altre varianti, gli extent vengono specificati usando una mini-lingua descritta di seguito.

Nota

Le partizioni di dati sono denominate extent e tutti i comandi usano "extent" o "extent" come sinonimo. Per altre informazioni sugli extent, vedere Panoramica degli extent (partizioni di dati).

Attenzione

Se si elimina un extent, verranno eliminate tutte le righe in tale extent. Per eliminare singoli record, usare Eliminazione temporanea.

Autorizzazioni

Se si specifica TableName, è necessario disporre almeno delle autorizzazioni di amministratore tabella per eseguire il comando.

Se tableName non è specificato, è necessario disporre almeno delle autorizzazioni di amministratore del database per eseguire il comando.

Sintassi

Eliminare extent con una query

.dropextents [whatif] <| Query

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
whatif string Se specificato, gli extent verranno segnalati invece di essere eliminati.
Query string ✔️ I risultati di questa query Linguaggio di query Kusto (KQL) specificano le tabelle di origine e gli ID extent da eliminare. Deve restituire un recordset con colonne denominate "ExtentId" e "TableName".

Eliminare un extent specifico o multiplo

.dropextents (ExtentIds) from TableName

Parametri

Nome Digita Obbligatorio Descrizione
ExtentIds guid ✔️ Uno o più identificatori univoci delimitati da virgole degli extent da eliminare.
TableName string Nome della tabella in cui si trova l'extent da eliminare.

Eliminare extent in base alle proprietà specificate

.dropextents [older N (days | hours)] from (TableName | tablesall ) [trim by (extentsize | datasize) Size (MB | bytes | GB)] [limit LimitCount]

Parametri

Nome Digita Obbligatorio Descrizione
N int ✔️ Extent di rilascio precedenti a N giorni/ore.
TableName string Nome della tabella in cui si trova l'extent da eliminare
Dimensione int ✔️ Tagliare i dati nel database fino a quando la somma degli extent corrisponde alle dimensioni richieste (MaxSize).
LimitCount int ✔️ Applicato ai primi extent LimitCount .

Il comando supporta la modalità di emulazione che produce un output come se il comando fosse stato eseguito, ma senza eseguirlo effettivamente. Usare .drop-pretend invece di .drop.

Valori restituiti

Il comando restituisce una tabella con le informazioni seguenti.

Parametro di output Tipo Descrizione
ExtentId string ExtentId eliminato a causa del comando
TableName string Nome tabella, dove extent appartiene
CreatedOn dateTime Timestamp che contiene informazioni sulla creazione iniziale dell'extent

Ad esempio, il valore restituito di un comando potrebbe essere simile alla tabella seguente.

Extent ID Nome tabella Data di creazione
43c6e03f-1713-4ca7-a52a-5db8a4e8b87d TestTable 2015-01-12 12:48:49.4298178

Esempi

Eliminare un extent specifico

Usare un ID extent per eliminare un extent specifico.

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

Eliminare più extent

Usare un elenco di ID extent per eliminare più extent.

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

Rimuovere tutti gli extent in base al tempo creato

Rimuovere tutti gli extent creati più di 10 giorni fa da tutte le tabelle nel database MyDatabase

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

Rimuovere alcuni extent in base al tempo creato

Rimuovere tutti gli extent nelle tabelle Table1 e Table2 il cui tempo di creazione era superiore a 10 giorni fa

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

Rimuovere un extent usando extent_id()

Rimuovere un extent da una tabella usando la funzione predefinita extent_id() .

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

Modalità emulazione: mostra gli extent che verrebbero rimossi dal comando

Nota

Il parametro ID extent non è applicabile per questo comando.

.drop-pretend extents older 10 days from all tables

Rimuovere tutti gli extent da 'TestTable'

.drop extents from TestTable

Nota

La rimozione di tutti gli extent non comporta necessariamente l'eliminazione di tutti i dati nella tabella, se l'inserimento in streaming è abilitato. Per cancellare tutti i dati di una tabella, usare .clear table data TestTable.