Sitecore清理代理和数据库清理

Gab*_*bar 6 sitecore scheduled-tasks

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

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

谢谢

Dan*_*vay 12

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

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

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

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

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