Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
Applies to: ✅ Azure Data Explorer
Drops extents from a specified database or table.
This command has several variants: In one, the extents to be dropped are specified by a Kusto query. In the other variants, extents are specified using a mini-language described below.
Note
Data shards are called extents, and all commands use "extent" or "extents" as a synonym. For more information on extents, see Extents (Data Shards) Overview.
Caution
If you drop an extent, all the rows in that extent will be deleted. To delete individual records, use Soft delete.
If the TableName is specified, you must have at least Table Admin permissions to run the command.
If the TableName isn't specified, you must have at least Database Admin permissions to run the command.
.drop
extents
[whatif
] <|
Query
Learn more about syntax conventions.
Name | Type | Required | Description |
---|---|---|---|
whatif |
string |
If specified, the extents will be reported instead of being dropped. | |
Query | string |
✔️ | The results of this Kusto Query Language (KQL) query specify the source tables and the extent IDs to be dropped. Should return a recordset with columns called "ExtentId" and "TableName". |
.drop
extents
(
ExtentIds)
from
TableName
Name | Type | Required | Description |
---|---|---|---|
ExtentIds | guid |
✔️ | One or more comma-separated unique identifiers of the extents to be dropped. |
TableName | string |
The name of the table where the extent to be dropped is located. |
.drop
extents
[older
N (days
| hours
)] from
(TableName | all
tables
) [trim
by
(extentsize
| datasize
) Size (MB
| GB
| bytes
)] [limit
LimitCount]
Name | Type | Required | Description |
---|---|---|---|
N | int |
✔️ | Drop extents older than N days/hours. |
TableName | string |
The name of the table where the extent to be dropped is located | |
Size | int |
✔️ | Trim the data in the database until the sum of extents matches the required size (MaxSize). |
LimitCount | int |
✔️ | Applied to first LimitCount extents. |
The command supports emulation mode that produces an output as if the command would have run, but without actually executing it. Use .drop-pretend
instead of .drop
.
The command returns a table with the following information.
Output parameter | Type | Description |
---|---|---|
ExtentId | string |
ExtentId that was dropped because of the command |
TableName | string |
Table name, where extent belonged |
CreatedOn | dateTime |
Timestamp that holds information about when the extent was initially created |
For example, the return value of a command might look like the following table.
Extent ID | Table Name | Created On |
---|---|---|
43c6e03f-1713-4ca7-a52a-5db8a4e8b87d | TestTable | 2015-01-12 12:48:49.4298178 |
Use an Extent ID to drop a specific extent.
.drop extent 609ad1e2-5b1c-4b79-90c0-1dec262e9f46 from Table1
Use a list of Extent IDs to drop multiple extents.
.drop extents (609ad1e2-5b1c-4b79-90c0-1dec262e9f46, 310a60c6-8529-4cdf-a309-fe6aa7857e1d) from Table1
Remove all extents created more than 10 days ago, from all tables in database MyDatabase
.drop extents <| .show database MyDatabase extents | where CreatedOn < now() - time(10d)
Remove all extents in tables Table1
and Table2
whose creation time was over 10 days ago
.drop extents older 10 days from tables (Table1, Table2)
Remove an extent from a table using the built-in extent_id()
function.
.drop extents <|
StormEvents
| where EventId == '66144'
| summarize by ExtentId = extent_id(), TableName = "StormEvents"
Note
Extent ID parameter isn't applicable for this command.
.drop-pretend extents older 10 days from all tables
.drop extents from TestTable
Note
Removing all extents does not necessarily delete all the data in the table, if streaming ingestion is enabled. To clear all the data of a table, use .clear table data TestTable
.