你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

.drop table extent tags

从表的所有或特定盘区中删除特定的盘区标记。 此命令在特定数据库的上下文中运行。

注意

数据分片称为“区”,所有命令都将“extent”或“extents”作为同义词使用。 若要详细了解区,请参阅区(数据分片)概述

可以通过两种方式来指定应从哪些盘区中删除哪些标记:

  • 明确指定应从指定的表中所有区中删除的标记。
  • 提供一个查询,其结果指定表中的区 ID,并指定每个区应删除的标记。

权限

对于所有相关的源表和目标表,你必须至少具有表管理员权限。

语法

.drop [async] tableTableNameextenttags(Tag [, ...])with(extentCreatedOnFrom=FromDate,extentCreatedOnTo=ToDate)

.drop [async] tableTableNameextenttagswith(extentCreatedOnFrom=FromDate,extentCreatedOnTo=ToDate)<|Query

详细了解语法约定

参数

名称 类型 必需 说明
async string 如果指定此项,则操作将异步执行。
TableName string ✔️ 要删除其区标记的表的名称。
标记 string ✔️ 要删除的区标记的名称。
FromDate datetime 开始日期范围。
ToDate datetime 结束日期范围。
查询 string ✔️ 返回要删除的区标记的一个 Kusto 查询语言 (KQL) 查询。 请参阅使用查询指定区

注意

为了提高性能,请将 extentCreatedOnFromextentCreatedOnTo 参数设置为尽可能小的范围。

限制

所有盘区都必须在上下文数据库中,并且必须属于同一个表。

返回

返回操作 ID (GUID)。

提示

使用查询指定区

使用 Kusto 查询指定区和要删除的标记。 它返回一个记录集,其中包含名为“ExtentId”的列和名为“Tags”的列。

注意

使用 Kusto .NET 客户端库时,以下方法将会生成所需的命令:

  • CslCommandGenerator.GenerateExtentTagsDropByRegexCommand(string tableName, string regex)
  • CslCommandGenerator.GenerateExtentTagsDropBySubstringCommand(string tableName, string substring)

返回输出

输出参数 类型 说明
OriginalExtentId string 原始盘区的唯一标识符 (GUID),其标记已修改。 此盘区在操作过程中被删除。
ResultExtentId string 结果盘区的唯一标识符 (GUID),其标记已修改。 此盘区在操作过程中创建和添加。 失败时 -“已失败”。
ResultExtentTags string 用于对结果区进行标记的一组标记(如果仍然存在),或者为“null”(如果操作失败)。
详细信息 string 包括失败详细信息(如果操作失败)。

示例

删除一个标记

从表中标记了 drop-by:Partition000 标记的的任何区删除该标记:

.drop extent tags from table MyOtherTable ('drop-by:Partition000')

删除多个标记

从表中带有 drop-by:20230312104500a random tagdrop-by:20230312 标记的任何盘区删除这些标记:

.drop table [My Table] extent tags ('drop-by:20230312104500','a random tag','drop-by:20230312') with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12))

删除指定创建时间范围内的所有 drop-by 标记

删除指定创建时间范围内表 MyTable 中盘区内的所有 drop-by 标记:

.drop table MyTable extent tags with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| 
  .show table MyTable extents 
  | where isnotempty(Tags)
  | extend Tags = split(Tags, '\r\n') 
  | mv-expand Tags to typeof(string)
  | where Tags startswith 'drop-by'

删除所有符合特定正则表达式的标记

从表 MyTable 的区删除所有符合正则表达式 drop-by:StreamCreationTime_20160915(\d{6}) 的标记:

.drop table MyTable extent tags with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| 
  .show table MyTable extents 
  | where isnotempty(Tags)
  | extend Tags = split(Tags, '\r\n')
  | mv-expand Tags to typeof(string)
  | where Tags matches regex @"drop-by:StreamCreationTime_20160915(\d{6})"

示例输出

OriginalExtentId ResultExtentId ResultExtentTags 详细信息
e133f050-a1e2-4dad-8552-1f5cf47cab69 0d96ab2d-9dd2-4d2c-a45e-b24c65aa6687 Partition001
cdbeb35b-87ea-499f-b545-defbae091b57 a90a303c-8a14-4207-8f35-d8ea94ca45be
4fcb4598-9a31-4614-903c-0c67c286da8c 97aafea1-59ff-4312-b06b-08f42187872f Partition001 Partition002
2dfdef64-62a3-4950-a130-96b5b1083b5a 0fb7f3da-5e28-4f09-a000-e62eb41592df