2013-02-01 42 views
6

Trong bảng điều khiển Sitecore có một lệnh để thực hiện Dọn dẹp cơ sở dữ liệu. Bảng lịch sử dọn dẹp, PublishQueue và EventQueue này có trong cả cơ sở dữ liệu chủ và web không?Sitecore Cleanup Agent và Database Cleanup

Ngoài ra còn có các tác vụ dọn dẹp trong web.config cho các bảng ở trên. Nếu chúng chỉ được kích hoạt trên máy chủ CMS, chúng có thực hiện dọn dẹp trong cả cơ sở dữ liệu chủ và web không?

Cảm ơn

Trả lời

11

Tôi giả sử bạn đang đề cập đến tùy chọn "Cơ sở dữ liệu sạch" trên màn hình Bảng điều khiển/Databaeses.

  • Lệnh sẽ nhắc bạn chọn cơ sở dữ liệu (web, chính, cốt lõi) bạn muốn xóa.
  • tôi nhìn vào thực hiện phương pháp CleanupDatabase trong Sitecore.Data.DataProviders.Sql.SqlDataProvider lớp sử dụng DotPeek, và nó làm các nhiệm vụ sau:

    1. Loại bỏ mặt hàng đó có cha mẹ, nhưng cha mẹ không có trong cây mục.
    2. Xóa dữ liệu ngôn ngữ không hợp lệ.
    3. Xóa trường cho các mục không tồn tại.
    4. Xóa các mục mồ côi.
    5. Xóa các bản ghi blob không sử dụng.
    6. Loại bỏ các trường khỏi các mục mồ côi bị loại bỏ trong bước 4.
    7. Tạo lại bảng con cháu (lưu trữ mối quan hệ cha/con).
    8. Xóa tất cả bộ nhớ cache.
  • Tôi đã xác nhận rằng tác vụ này không xóa bảng Lịch sử hoặc PublishQueue. Bảng EventQueue của tôi trống, vì vậy tôi không thể kiểm tra điều này.

  • Nhiệm vụ dọn dẹp Web.config lặp qua tất cả các cơ sở dữ liệu < < > cơ sở dữ liệu >, vì vậy chúng phải hoạt động trên cơ sở dữ liệu Web ngay cả từ môi trường CMS. Điều này có thể nhanh chóng được chứng minh bằng cách kiểm tra một trong các bảng này trước và sau khi công việc này đã chạy.

Lưu ý: Phân tích này dựa trên phản ánh Sitecore 6.6.0, phiên bản 121203.