在Sitecore控制面板中,有一个执行数据库清理的命令.这是在master和web数据库中清理History,PublishQueue和EventQueue表吗?
上面的表的web.config中也有清理任务.如果它们仅在CMS服务器上启用,它们是否在主数据库和Web数据库中执行清理?
谢谢
解决方法
我假设您指的是控制面板/数据库屏幕上的“清理数据库”选项.
>该命令会提示您选择要清理的数据库(Web,主,核).
>我使用DotPeek查看了Sitecore.Data.DataProviders.sql.sqlDataProvider类中的CleanupDatabase方法的实现,它执行以下任务:
>删除具有父项的项目,但父项不在项目树中.
>删除无效的语言数据.
>删除非现有项目的字段.
>删除孤立的项目.
>删除未使用的blob记录.
>从步骤4中删除的孤立项删除字段.
>重建Descendants表(存储父/子关系).
>清除所有缓存.
>我已确认此任务不会清除History或PublishQueue表.我的EventQueue表是空的,所以我无法测试它.
> Web.config清理任务遍历所有< databases<>数据库>节点,因此它们甚至应该从CMS环境中作用于Web数据库.通过在此作业运行之前和之后检查其中一个表,可以快速证明这一点.
注意:此分析基于反映Sitecore 6.6.0版本121203.