【问题标题】:Sitecore Cleanup Agent and Database CleanupSitecore 清理代理和数据库清理
【发布时间】:2013-02-01 20:53:36
【问题描述】:

在 Sitecore 控制面板中有一个执行数据库清理的命令。这会清理主数据库和 Web 数据库中的 History、PublishQueue 和 EventQueue 表吗?

上述表格的 web.config 中也有清理任务。如果它们仅在 CMS 服务器上启用,它们是否会在主数据库和 Web 数据库中执行清理?

谢谢

【问题讨论】:

    标签: scheduled-tasks sitecore


    【解决方案1】:

    我假设您指的是控制面板/数据库屏幕上的“清理数据库”选项。

    • 该命令会提示您选择要清理的数据库(Web、master、core)。
    • 我使用 DotPeek 查看了 Sitecore.Data.DataProviders.Sql.SqlDataProvider 类中 CleanupDatabase 方法的实现,它执行以下任务:

      1. 删除具有父项但父项不在项树中的项。
      2. 删除无效的语言数据。
      3. 删除不存在的项目的字段。
      4. 删除孤立项。
      5. 删除未使用的 blob 记录。
      6. 从步骤 4 中删除的孤立项中删除字段。
      7. 重建 Descendants 表(存储父/子关系)。
      8. 清除所有缓存。
    • 我已确认此任务不会清除历史记录或 PublishQueue 表。我的 EventQueue 表是空的,所以我无法对此进行测试。

    • Web.config 清理任务会遍历所有 databases> 节点,因此即使在 CMS 环境中,它们也应该作用于 Web 数据库。这可以通过在此作业运行之前和之后检查其中一个表来快速证明。

    注意:此分析基于反映 Sitecore 6.6.0 版本 121203。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多