6

Sitecoreコントロールパネルには、データベースのクリーンアップを実行するコマンドがあります。このクリーンアップ履歴、PublishQueue、およびEventQueueテーブルは、マスターデータベースとWebデータベースの両方にありますか?

上記のテーブルのweb.configにはクリーンアップタスクもあります。CMSサーバーでのみ有効になっている場合、マスターデータベースとWebデータベースの両方でクリーンアップを実行しますか?

ありがとう

4

1 に答える 1

12

コントロールパネル/データベース画面の「データベースのクリーンアップ」オプションを参照していると思います。

  • このコマンドにより、クリーンアップするデータベース(Web、マスター、コア)を選択するように求められます。
  • DotPeekを使用して、Sitecore.Data.DataProviders.Sql.SqlDataProviderクラスのCleanupDatabaseメソッドの実装を確認しました。これにより、次のタスクが実行されます。

    1. 親を持つアイテムを削除しますが、親はアイテムツリーにありません。
    2. 無効な言語データを削除します。
    3. 存在しないアイテムのフィールドを削除します。
    4. 孤立したアイテムを削除します。
    5. 未使用のblobレコードを削除します。
    6. 手順4で削除された孤立したアイテムからフィールドを削除します。
    7. 子孫テーブル(親子関係を格納する)を再構築します。
    8. すべてのキャッシュをクリアします。
  • このタスクでHistoryまたはPublishQueueテーブルがクリアされないことを確認しました。EventQueueテーブルが空だったため、これをテストできませんでした。

  • Web.configクリーンアップタスクは、すべての<databases <> database>ノードを反復処理するため、CMS環境からでもWebデータベースに作用する必要があります。これは、このジョブの実行の前後にこれらのテーブルの1つを調べることですぐに証明できます。

注:この分析は、Sitecore6.6.0バージョン121203の反映に基づいています。

于 2013-02-03T05:25:28.193 に答える