RE-BUILDing một HEAP có gây ra thời gian chết không?


8

Đây là một câu hỏi đáng xấu hổ và tôi không thể tin rằng tôi đã bỏ lỡ điều này trong nhiều năm.

Tôi có một cơ sở dữ liệu bên thứ ba của nhà cung cấp có 401 bảng heap. Gần đây tôi đã sử dụng các tập lệnh và thiết lập của Brent Ozar sp_BlitzFirstđể chạy cứ sau 15 phút để thu thập số liệu thống kê chờ đợi, v.v.

Những gì nó phát hiện ra là mỗi khi nó chạy trong khoảng thời gian 24 giờ, nó bảo tôi sửa Bản ghi chuyển tiếp . Điều có lẽ sẽ gây sốc cho một số độc giả rằng tôi đã chạy một truy vấn trên DMV và nhận lại một số bảng với hơn 150.000 giá trị bản ghi được chuyển tiếp.

Tôi hiểu để khắc phục điều này là để có một chỉ mục được nhóm trên bảng hoặc như là một công việc tạm thời để chạy ALTER TABLE [tablename] REBUILD.

Tuy nhiên, điều tôi chưa thể tìm thấy là liệu điều này có lấy bảng ngoại tuyến hay không và liệu có bất kỳ vấn đề nào khác mà tôi nên biết trước khi chạy lệnh này không.

Tôi đang sử dụng Phiên bản doanh nghiệp 2008 R2 và tôi tự hỏi liệu việc chạy nó theo cách này có giúp loại bỏ sự cố mất điện không?

ALTER TABLE [tablename] REBUILD WITH (ONLINE = ON);  

Có ai có bất cứ kinh nghiệm với điều này?

Câu trả lời:


9

Tin tốt: 150.000 hồ sơ được chuyển tiếp thực sự không tệ, tùy thuộc vào loại khoảng thời gian chúng ta đang nói đến. Các hồ sơ được chuyển tiếp được theo dõi miễn là máy chủ hoạt động (với một số vấn đề xoay quanh một lỗi trong các bản dựng 2012/2014 cụ thể .)

Ngay cả khi nó hoạt động trực tuyến, người dùng của bạn có thể nhận thấy nó tùy thuộc vào thông lượng IO của bạn, kích thước của bảng, số lượng chỉ mục không bao gồm và khối lượng công việc của bạn.

Đây là cách tôi giải quyết nó:

  • Liệt kê các bảng có cảnh báo các bản ghi được chuyển tiếp từ kích thước bảng nhỏ nhất đến lớn nhất (không phải số lượng bản ghi được chuyển tiếp)
  • Xây dựng lại các bảng theo thứ tự, bằng tay, một số ít tại một thời điểm. Đừng tự động hóa việc này - bạn muốn cảm nhận về cách hệ thống của bạn phản ứng với việc xây dựng lại các bảng nhỏ. Bạn sẽ học khá nhanh nếu máy chủ của bạn có thể theo kịp.
  • Theo dõi việc sử dụng nhật ký giao dịch của bạn. Nếu tệp nhật ký của bạn là 10 GB và bạn đang cố gắng xây dựng lại một đống 50 GB, bạn có thể gặp sự cố. Bạn có thể giảm thiểu những vấn đề này bằng cách phát triển đăng xuất trước thời hạn trong các cửa sổ bảo trì và bằng cách thực hiện sao lưu nhật ký thường xuyên trong khi bạn đang thực hiện việc này - nhưng tôi sẽ thành thật, với 150 nghìn hồ sơ được chuyển tiếp trong khoảng vài ngày, tôi sẽ không Tôi không bận tâm đến việc này.
  • Đi về phía trước, làm việc với nhà cung cấp để đặt một cụm cụm trên các bảng đó. Vâng, có những lúc các đống là thích hợp, nhưng nếu bạn gặp phải vấn đề về hồ sơ chuyển tiếp, có lẽ bạn không ở trong một trong những tình huống thân thiện với đống đó.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.