备注
全新改进的 Power Platform 管理中心现已进入公开预览阶段! 我们将新的管理中心设计为更易于使用,具有面向任务的导航功能,可帮助你更快地实现特定结果。 随着新的 Power Platform 管理中心进入正式发布阶段,我们将发布新的更新文档。
系统作业 (AsyncOperation) 表存储系统作业。 实际数据库表的名称是 AsyncOperationBase
。 系统作业表示异步扩展(例如异步注册的工作流和插件),以及其他后台操作(例如批量删除、批量导入和汇总操作)。 在事件发生并处理完任何同步扩展后,平台会会序列化任何异步扩展的上下文,并将其作为 AsyncOperation 记录保存到数据库中。
在 Dataverse 组织中触发异步工作流时,将在 AsyncOperation 表中创建一条记录以跟踪异步作业的处理情况。 还会在流程日志 (WorkflowLog) 表中创建更多记录,以维护工作流执行的日志。 实际数据库表的名称是 WorkflowLogBase
。
业务流程 (BPF) 还会在 WorkflowLog 表中存储 BPF 阶段转换和 BPF 操作日志。
如果贵组织大量使用工作流或业务流程,那么这些表会随着时间的推移不断增大,并最终变得很大,足以导致性能问题并占用组织数据库中的过多存储空间。
批量删除作业
所有环境都配置了现成的批量删除作业,用于删除 30 天之前且成功完成的工作流系统作业。 客户可以配置其他批量删除来删除 AsyncOperation 记录。 建议配置一个作业,以删除任何 30 天之前的已完成系统作业(无论类型或结果如何),这样已完成的作业就不会累积在 AsyncOperation 表中。
您可以利用批量删除系统作业从 AsyncOperation 表和 WorkflowLog 表删除不需要的记录。 要查看批量删除系统作业,请执行以下操作:
- 登录 Power Platform 管理中心。
- 在左侧导航窗格中选择环境,选择您的环境,然后在顶部菜单栏上选择设置。
- 选择数据管理>批量删除。
从批量记录删除网格中,您可以使用视图选择器来查看已完成、正在进行、待定和定期批量删除系统作业。 定期批量删除系统作业视图显示内置的现成批量删除系统作业的作业定义。
如果您打开这些定期批量删除系统作业记录中的一条记录,您可以看到作业识别要删除哪些记录所用的查询以及作业运行的计划。 对于这些现成系统作业,虽然无法修改系统作业使用的查询,但可以修改作业运行的计划。 如果您更新视图选择器以显示已安排、正在进行或已执行的作业,则您可以取消、继续或推迟该作业。 在打开记录时,可以在操作菜单中找到这些选项。
创建自己的批量删除作业
如果现成的系统批量删除作业不符合贵组织的需要,则您可以创建自己的批量删除作业。 从批量记录删除网格中的命令栏上,选择新建。 这将打开批量删除向导,此向导允许您为要删除的记录定义查询。 该向导还提供了预览查询将选择删除的记录集的功能,以允许您测试您是否正确构建了查询。
若要从 AsyncOperation 表中清除工作流记录,您需要选择系统作业表,然后在使用保存的视图中选择 [新建] 以创建自己的查询。 您只能删除已完成的工作流。 等待运行或当前正在进行的工作流不能也不应该被您的系统作业删除。
向查询中添加以下条件:
- 系统作业类型等于工作流 - 目标工作流记录。
- 状态等于已完成 - 只能完成已完成的工作流。
- [可选] 筛选对于已完成的 StateCode 有效的 StatusCodes(成功/失败/已取消)。
- [可选] 筛选完成时间字段以仅删除较早的工作流。
- [可选] 要应用的任何其他筛选器。
在向导的下一页上,您可以设置批量删除作业的运行频率。 您可以创建一次性批量删除作业或定义计划以允许您的作业以设定的时间间隔运行。
基于优先级的异步操作批量删除作业
为了解除对拥有大量异步操作的客户的封锁,我们为异步操作清理引入了基于优先级的批量删除功能。 默认情况下,此功能对所有组织可用。 以下是一些需要注意的要点:
- 批量删除优先级仅适用于为实体异步操作新创建的非重复性批量删除作业。
- 若要最大限度地提高此功能的有效性并获得最佳作业性能,请创建具有不同筛选条件的作业,例如具有不同日期范围、系统作业类型、状态代码或任何其他条件的作业。
- 组织最多可以创建五个优先级作业。 创建这些作业后,将使用默认首选项创建新作业。
- 无论队列中的非同步操作实体作业数量有多少,始终可以创建一个具有优先权的同步操作作业。
- 批量删除作业的创建步骤没有变化。
用于设计工作流的最佳实践
删除工作流表中不需要的记录后,您可以在工作流设计中采取一些步骤来防止表在未来快速增长。
对于异步工作流,我们建议在工作流编辑器中启用自动删除已完成工作流作业(以节省磁盘空间)。 这可让系统删除成功执行的工作流日志以节省空间。 将始终保存失败工作流执行的日志以进行故障排除。
对于同步工作流,建议在工作流编辑器中启用保留遇到错误的工作流作业的日志。 这将允许保存失败的工作流执行的日志以进行故障排除。 将始终删除成功工作流执行的日志以节省空间。
AsyncOperation 文件容量使用情况
从历史上看,整个异步操作上下文过去经常直接在 AsyncOperation 表(作为 Data 属性)中序列化,因此,如果大型记录(如附件)存在异步插件注册,那么这会导致大小增长非常快速。 自 2021 年初以来,异步操作的数据部分已移至文件存储。 因此,异步操作数据大小部分计入数据库容量,部分计入文件容量。 这有助于降低成本(因为文件容量的收费率低于数据库容量的收费率),并提高整体绩效(因为针对 AsyncOperation 表的查询性能更高)。
备注
与 AsyncOperation 记录相关的文件不能直接删除。 为了回收文件容量,请查看本文中描述的 AsyncOperation 记录的保留和清理策略。 当 AsyncOperation 记录删除时,其相应的文件也会删除。
有关 Dataverse 存储模型和报告的详细信息,请参阅新的 Microsoft Dataverse 存储容量。
另请参见
减少数据库存储
使用批量删除删除大量特定的有针对性的数据
Microsoft Dataverse 实时工作流
经典 Dataverse 后台工作流
自动删除已完成的后台工作流作业
异步服务