本文介绍如何为 Microsoft Dataverse 表设置数据保留策略。
先决条件
必须完成这些先决条件,然后才能为长期数据保留设置表:
为表启用长期保留
在设置保留策略之前,请启用父表(根表),以便实现长期保存。
注释
启用父表(root)表的长期保留功能时,所有相关的子表将自动启用。 如果为父表启用了保留,则不能为子表禁用保留。 例如,假设自定义表和备注表是事例表的子表。 如果为父案例表启用保留,则不能为这些子表禁用保留。 开发者始终可以为父表禁用长期保留,以及为子表单独启用保留。 但是,当通过解决方案导入流程启用长期保留时,此相关的子表行为存在异常。 在这种情况下,不会自动启用相关的子表。
- 登录到 Power Apps,转到 “表”,然后打开所需的表。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。
- 在命令栏上选择 “属性 ”,展开“ 高级”选项,然后选择“ 启用长期保留”。
- 选择“保存”。
保存表大约 15-30 分钟后,父根表和任何子表将可用于策略设置。 子表数越大,完成该过程所需的时间就越长。
确定 Dataverse 的策略条件视图
Dataverse 视图用于确定使用长期保留策略将哪些表行(记录)标记为保留。 在设置数据保留策略之前,必须将 Dataverse 视图设置为保留条件。
获得用于特定长期保留策略的 Dataverse 视图后,应测试视图结果。 最佳做法是使用 TOP N 语句修改视图查询并对其进行测试,以确保返回的结果集按预期方式返回。 这始终是建议的,尤其是在行数较大时。
例如,请考虑创建一个 Dataverse 视图,以选择2015年的所有已关闭案例。 事例数可能非常大。 因此,您应向视图添加TOP N,例如前 10,并对其进行测试,以确认检索到事例的示例集。
在运行数据保留策略时,会将父表和所有子表的行纳入数据长期保留。 父案例可能具有子表中的关联行,例如注释、任务和自定义表。 保留策略确保案例记录及其所有关联子行在 Dataverse 中被标记并长期保留。 此外,作为示例,还将使用作为保留数据的一部分提供的 ID 和名称值非规范化案例表中的查找值。 这允许在很多情况下使用单个查询来检索相关的保留数据。
重要
建议创建专用于识别需保留行的 Dataverse 视图。 然后,创建并运行一个应用,该应用具有要在将其用作策略中的条件之前要验证的视图。 有关如何创建表视图的信息,请转到 创建和编辑公共视图或系统视图。
设置保留策略
Power Platform 管理员设置保留策略。
重要
将数据保留为长期(非活动)数据后,无法将其移回活动数据存储。
运行保留策略时,该过程在 Microsoft Power Platform 中发出 API 请求。 这些请求计入计划可用的现有 API 请求。 详细信息:请求限额和分配
若要完成此任务,必须具有 Power Platform 管理员角色。
- 为表启用长期保留。
- 登录到 Power Apps,然后在左侧导航窗格中选择 “保留策略”。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。
- 在命令栏上,选择“ 新建保留策略”。
- 填写保留策略的以下属性:
- 表。 选择将用于设置策略以在长期存储中保留历史冷数据的父根表。
- 名称。 输入保留策略的名称。
- 条件。 从列表中选择视图。 视图之前应已创建并测试,以确保选择了正确的历史数据。 确定 Dataverse 策略条件视图
- 计划 - 开始日期。 输入希望策略首次运行的日期。 策略在环境区域的休息时间运行。
-
频率。 可用选项包括 一次、 每日、 每周、 每月和 每年。
- 选择“保存”。
现在可以查看和管理策略。 详细信息: 管理数据保留策略
重要
- 对于已启用 管理模式 的环境,保留策略将不会启动。
- 当在父表上设置策略时,所有父级和关联的子级活动、电子邮件、附件都保留为一组。 这类似于批量删除策略。 例如,无法为活动指针、活动群和附件表设置显式保留策略。 不能为不支持批量删除的表设置长期保留策略。
- 父表及其所有关联子表行将被标记并存储于 Dataverse 长期存储中。
- 在策略运行期间,将始终执行与任何表(父表和子表)的现有删除操作关联的逻辑。
- 无论数据量如何,策略运行都将需要 72-96 小时。 平台为数据保留策略提供低优先级。 Dataverse 将始终在后台运行保留过程,以避免对其他平台服务(如应用和流)产生任何影响。
- 考虑以下情形:对具有通用子表的单独父表运行两个策略(策略 1 和策略 2)。 Policy1 在 Policy2 之前开始运行。 如果 Policy1 的状态尚未从 待对帐 进展,那么 Policy2 的状态将保持 待删除,直到 Policy1 从 待对帐 进展到 待删除。 此行为是为了防止这两个策略删除通用表中的任何通用记录。
已知问题
如果父表中包含大量子表,并且父表或子表的大小很大,可能会超时。 例如,当表数在级联关系链中较大时,例如 25 个或更多个。 为了缓解这种情况,请首先单独启用一些子表。 然后返回并启用父表。