Sitecore清理代理和数据库清理

时间:2013-02-01 20:53:36

标签: scheduled-tasks sitecore

在Sitecore控制面板中,有一个执行数据库清理的命令。这是在master和web数据库中清理History,PublishQueue和EventQueue表吗?

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

由于

1 个答案:

答案 0 :(得分:12)

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

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

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

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

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