AsyncOperationBase 表用于存储系统作业。 系统作业代表异步扩展,例如:
- 异步注册的工作流和插件。
- 后台操作,如批量删除作业、批量导入和汇总操作。
有关异步操作类型的列表,请参见操作类型选择/选项。
在事件发生并执行所有直接扩展后,系统就会将任何异步扩展的上下文数据转换为结构化格式,并将其存储在 AsyncOperation 记录中。
例如,异步注册工作流可以是一个在客户下订单后自动向客户发送电子邮件的流程。 订单发货后,工作流程会跟进另一封电子邮件。 在这种异步注册工作流中,平台会将异步工作流的上下文作为记录保存在 AsyncOperationBase 表中。 流程日志 WorkflowLog 记录在 WorkflowLogBase 表中,用于维护工作流执行的日志。
这些记录将包括以下信息:
工作流的 ID
触发工作流的插件的 ID
工作流程执行的状态
此表包括所有默认的活动列,如名称、描述、类型、操作类型等。
有关此表中各列的完整列表,请参阅系统作业 (AsyncOperation) 表/实体参考。
从 2021 年起,异步操作的数据部分从存储在 Dataverse 数据库容量中转移到存储在 Dataverse 文件容量中。 这导致异步操作数据大小有一部分归属于Dataverse数据库容量,部分归属于Dataverse文件容量。 迁移到 Dataverse 文件容量,可降低成本,因为 Dataverse 文件容量的收费率低于 Dataverse 数据库容量。 此外,Dataverse 文件容量可提高整体性能,因为对异步操作表的查询更高效。
增长的原因
AsyncOperationBase 表的增长直接取决于客户环境所依赖的自定义项数量。 工作流和插件越异步,就会有越多的记录存储在 AsyncOperationBase 表中,以跟踪这些操作的执行情况。
如果贵组织大量使用工作流或插件,预计 AsyncOperationBase 表将是数据容量的最大消费项之一。
如果 AsyncOperationBase 的大小随着时间的推移继续增长,请验证是否设置了异步注册的自动删除选项(请参阅附录中的如何为工作流和插件设置此选项)。 这会让所有成功完成的作业在完成后立即被删除,并控制表的大小。
导致 Dynamics 365 中 AsyncOperationBase 表增长的一些常见因素包括:
大量使用工作流或业务流程流:如果组织大量使用工作流或业务流程流,AsyncOperationBase 表会随着时间的推移而增长,最终大到引发性能问题。
大型实体上的异步插件注册:如果大型实体(如附件)存在异步插件注册,异步操作的数据部分可能会快速增长,从而导致 AsyncOperationBase 表变大。
异步操作数据部分的大小:异步操作数据部分的大小也推动 AsyncOperationBase 表的增长。
表清理
您需要首先在沙盒环境中测试这些删除操作。 为了减轻运营容量压力,增加 Microsoft Dynamics 365 订阅的存储空间可能更有意义,而不是减少所使用的存储空间。
警告
若要减少 AsyncOperationBase 表的容量消耗,请删除与异步作业相关的自定义元数据。 删除异步操作实体时,相应的文件记录也会被删除。
删除后这些记录不可用。 执行批量删除操作时要小心。
在删除此表中的任何数据之前:
检查您对工作流以及在删除操作中运行的插件的自定义设置。
检查级联删除行为,确保在此过程中没有数据被意外删除。
在进行最终删除操作之前,在沙盒环境中测试这些操作。
所有环境都配置有现成的批量删除作业,以删除超过 30 天的已成功完成的工作流系统作业。
为了减少与 AsyncOperationBase 表相关联的额外容量,请考虑使用批量删除作业,将超过 7 天的工作流系统作业配置为删除。
诊断查询
使用诊断查询来帮助诊断与 AsyncOperationBase 相关的作业问题。
使用以下查询来诊断与 AsyncOperationBase 文件存储相关的问题。
系统作业状态
要访问系统作业页面,请执行以下步骤。
- 登录 Power Platform 管理中心。
- 在导航窗格中,选择“ 管理”。
- 在管理窗格中,选择环境。
- 选择环境。
- 在命令栏上选择 “设置 ”。
- 选择审核和日志>系统作业。
系统作业具有以下状态:
已完成 - 作业不再执行任何步骤,并提供了三种可能的状态原因:
成功 - 作业按预期进行。
失败 - 处理作业时出现故障。
已取消 - 不会执行该作业。
正在运行 - 正在处理或执行作业,或者正在执行操作,有三种可能的状态原因值:
正在进行中 - 作业当前正在执行。
暂停 - 触发了暂停操作。
正在取消 - 管理员触发了取消选项。
挂起:- 当系统作业不满足自动触发的条件或评估条件失败时。 挂起场景中有两个状态原因:
正在等待 - 表示系统作业处于等待状态。
等待资源 - 表示系统作业正在等待资源。
备注
不应自动清理正在运行或挂起的作业。 相反,应该触发手动取消操作。
客户可以配置其他批量删除作业来删除 AsyncOperationBase 记录。
设置批量删除作业
要设置批量删除作业,请参见以下列表。
删除超过 7 天的已完成系统作业
在导航窗格中,选择“ 管理”。
在管理窗格中,选择环境。
选择环境。
在命令栏上选择 “设置 ”。
选择数据管理>批量删除>新建。
将显示批量删除向导。 选择下一步。
将显示定义搜索条件页面。 若要批量删除 AsyncOperationBase 记录,请完成以下步骤:
在查找字段中,选择系统作业。
输入以下条件:
组合 设置 条件 选定的值 与 Status 等于 已完成 与 完成时间 X 天以前 7
始终从小范围条件开始(超过 3 年)对要删除的记录设定限制,然后逐渐转向更宽松的删除条件(超过 3 个月),再转向更宽松的删除条件(超过 7 天)。与 系统作业类型 不等于 批量电子邮件
导入文件分析
Workflow
选择预览记录,查看将根据指定搜索条件删除的记录,以确保在此过程中没有数据被意外删除。 然后选择下一步。
在选择选项页面上,选择运行此作业的间隔选项,然后选择 7 天。 然后选择下一步。
在查看并提交批量删除详细信息页面上,选择提交。
有关如何为 AsyncOperationBase 表配置批量删除作业的详细信息,请参阅从 AsyncOperationBase/WorkflowLogBase 表中清除记录。
删除已完成的工作流系统作业
在导航窗格中,选择“ 管理”。
在管理窗格中,选择环境。
选择环境。
在命令栏上选择 “设置 ”。
选择数据管理>批量删除>新建。
将显示批量删除向导。 选择下一步。
将显示定义搜索条件页面。 若要批量删除 AsyncOperationBase 记录,请完成以下步骤:
在查找字段中,选择系统作业。
输入以下条件:
组合 设置 条件 选定的值 与 状态描述 等于 已成功 与 Status 等于 已完成 与 系统作业类型 等于 Workflow
选择预览记录,查看将根据指定搜索条件删除的记录,以确保在此过程中没有数据被意外删除。 然后选择下一步。
在选择选项页面上,选择运行此作业的间隔选项,然后选择 7 天。 然后选择下一步。
在查看并提交批量删除详细信息页面上,选择提交。
附录
要了解有关如何设置工作流和插件作业的更多信息,请参考以下部分。
设置选项以删除成功完成的异步工作流作业
对于异步工作流,我们建议在工作流编辑器中选择自动删除已完成的工作流作业(以节省磁盘空间)选项。 这可让系统删除成功执行的工作流日志以节省空间。
设置选项以删除成功完成的异步插件作业
对于自定义插件,请选择注册新步骤。 将显示注册新步骤屏幕。
完成以下步骤:
- 在事件管道阶段区域中,选择后操作。
- 在执行模式区域中,选择异步。
- 选择如果状态代码 = 成功则删除 AsyncOperation选项。