Chúng tôi đang khắc phục sự cố lâu dài với một nhà cung cấp. Phần mềm của họ có xu hướng đóng băng và ngừng hoạt động một hoặc hai lần một tuần gây ra sự gián đoạn lớn cho hoạt động của chúng tôi. Họ đã không thể xác định nguyên nhân mặc dù chúng tôi đã gửi cho họ nhiều GB nhật ký và bản sao lưu của DB. Gần đây, họ đã bắt đầu đề xuất các vấn đề liên quan đến bảo trì của chúng tôi và có lẽ không phải với phần mềm của họ (mặc dù không có truy vấn chạy lâu, áp suất CPU / RAM / IO hoặc thậm chí là bế tắc khi xảy ra sự cố). Cụ thể họ đang nói rằng các chỉ số của chúng tôi là một vấn đề.
Công cụ yêu thích của họ để sử dụng là DBCC showcontig mặc dù tôi cho rằng điều đó không được MS phản đối. Họ ám ảnh về mật độ quét và phân mảnh mức độ đặc biệt. Để loại bỏ lý do, tôi đã thiết lập một số bảo trì hàng đêm tích cực để xây dựng lại các chỉ mục với mật độ quét <90% hoặc phân mảnh> 10%. Điều này đã phần nào ném chúng ra khỏi tàu mật độ quét nhưng chúng vẫn cố định ở mức độ phân mảnh. DBCC showcontig cho thấy sự phân mảnh ở mức độ cao ngay cả trên một chỉ mục đã được xây dựng lại nhiều giờ trước đó. Dưới đây là kết quả của dbcc_showcontig và sys.dm_db_index_physical_stats cho một bảng mà họ đã chỉ ra là "vấn đề có thể xảy ra".
DBCC SHOWCONTIG
- Các trang được quét ................................: 1222108
- Mức độ quét ..............................: 152964
- Công tắc mở rộng ..............................: 180904
- Trung bình Số trang trên mỗi mức độ ........................: 8.0
- Mật độ quét [Đếm tốt nhất: Đếm thực tế] .......: 84,44% [152764: 180905]
- Phân mảnh quét logic ..................: 3,24%
- Phân mảnh quét mở rộng ...................: 35,97%
- Trung bình Byte miễn phí trên mỗi trang .....................: 692,5
- Trung bình Mật độ trang (đầy đủ) .....................: 91,44%
sys.dm_db_index_physical_stats
index_type_desc alloc_unit_type_desc Avg_fragmentation_in_percent page_count
CLUSTERED INDEX IN_ROW_DATA 3.236803129 1222070
NONCLUSTERED INDEX IN_ROW_DATA 0.680074642 48230
NONCLUSTERED INDEX IN_ROW_DATA 0.093237195 48264
NONCLUSTERED INDEX IN_ROW_DATA 0.03315856 48253
NONCLUSTERED INDEX IN_ROW_DATA 0.194653248 48291
NONCLUSTERED INDEX IN_ROW_DATA 0.393480436 58961
NONCLUSTERED INDEX IN_ROW_DATA 0.23622292 64346
NONCLUSTERED INDEX IN_ROW_DATA 0.041445623 48256
NONCLUSTERED INDEX IN_ROW_DATA 0.701172007 59044
NONCLUSTERED INDEX IN_ROW_DATA 0.216397724 53605
Tôi có nên quan tâm đến các chỉ số của tôi? Một ở trên không phải là không điển hình. MS DMV ưa thích sẽ xuất hiện cho thấy nó vẫn ổn, nhưng nhà cung cấp bị mắc kẹt trên mức phân mảnh 35,97% đó. Tôi nghi ngờ đây chỉ là họ đang cố gắng tìm kiếm thứ gì đó để đổ lỗi cho vấn đề phần mềm của họ, nhưng nếu tôi gặp vấn đề thực sự, tôi muốn thử và sửa nó.