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

删除数据

适用于:✅Microsoft Fabric✅Azure 数据资源管理器

通过多种方式支持从表中删除数据。 以下信息可帮助你选择最适合你的用例的删除方法。

使用案例 注意事项 方法
从表中删除所有数据。 使用 .clear table data 命令
定期删除旧数据。 如果需要自动删除解决方案,请使用。 使用保留策略
按盘区批量删除特定数据。 仅当你是专家用户时才使用。 使用 .drop extents 命令
根据记录的内容删除记录。 - 包含已删除记录的存储项目不一定被删除。
- 删除的记录无法恢复(无论保留或可恢复性设置如何)。
- 如果需要快速删除记录,请使用。
使用软删除
根据记录的内容删除记录。 - 删除包含已删除记录的存储项目。
- 删除的记录无法恢复(无论保留或可恢复性设置如何)。
- 需要大量的系统资源和时间才能完成。
使用清除
用例 注意事项 方法
从表中删除所有数据。 使用 .clear table data 命令
定期删除旧数据。 如果需要自动删除解决方案,请使用。 使用保留策略
按盘区批量删除特定数据。 仅当你是专家用户时才使用。 使用 .drop extents 命令
根据记录的内容删除记录。 - 包含已删除记录的存储项目不一定被删除。
- 删除的记录无法恢复(无论保留或可恢复性设置如何)。
- 如果需要快速删除记录,请使用。
使用软删除

以下部分介绍不同的删除方法。

删除表中的所有数据

若要删除表中的所有数据,请使用 .clear table data 命令。 此命令是从表中删除所有数据的最有效方法。

语法:

.clear table <TableName> data

使用保留策略删除数据

根据保留策略自动删除数据。 可以在数据库或表级别设置保留策略。 无法保证何时发生删除,但在保留期之前不会删除它。 这是一种高效便捷的方式来删除旧数据。

假设某个数据库或表的保留期设置为 90 天。 如果只需要 60 天的数据,请如下所述删除更旧的数据:

.alter-merge database <DatabaseName> policy retention softdelete = 60d

.alter-merge table <TableName> policy retention softdelete = 60d

通过删除盘区来删除数据

盘区(数据分片)是数据存储在其中的内部结构。 每个盘区可容纳多达数百万条记录。 可以使用删除盘区命令逐个或者按组删除盘区。

示例

你可以删除表中的所有行或只删除特定盘区。

  • 删除表中的所有行:

    .drop extents from TestTable
    
  • 删除特定盘区:

    .drop extent e9fac0d2-b6d5-4ce3-bdb4-dea052d13b42
    

删除单个行

清除和软删除都可用于删除单个行。 软删除不一定删除包含要删除的记录的存储项目,清除操作会删除所有这些存储项目。

无论使用哪种保留或可恢复性设置,这两种方法都会阻止恢复已删除的记录。 “删除”过程是最终的且不可逆的。

软删除

使用 软删除时,数据不一定从存储项目中删除。 此方法将所有匹配的记录标记为已删除,以便在查询中筛选掉它们,并且不需要大量的系统资源。

清除

清除后,将删除一个或多个记录的盘区替换为这些记录不存在的新盘区。 此删除过程不会立即完成,它需要使用大量系统资源,可能需要一整天才能完成。

软删除 可用于删除单个行。 数据不一定从存储项目中删除。 软删除可防止恢复已删除的记录,而不考虑任何保留或可恢复性设置。 “删除”过程是最终的且不可逆的。 此方法将所有匹配的记录标记为已删除,以便在查询中筛选掉它们,并且不需要大量的系统资源。