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