Tại sao hai DMV HADR này báo cáo các trạng thái khác nhau?


8

Phiên bản doanh nghiệp SQL Server 2012 (11.0.5058.0)

Chúng tôi có 8 Nhóm sẵn có trong cụm 2 (HA) +1 (DR) và các DMV giám sát của chúng tôi đang báo cáo kết quả khiến tôi bối rối. 6 Nhóm sẵn có được cấu hình cho HA và DR, 1 được cấu hình chỉ cho HA và 1 được cấu hình chỉ cho DR.

Mỗi nhóm trong số 6 Nhóm sẵn có HA / DR có "SQLB" là bản sao chính và "SQLA" là bản sao HA thứ cấp (đồng bộ) và "SQLC" dưới dạng bản sao phụ (không đồng bộ).

Trên cả hai phần phụ:

SELECT dhags.group_id, dhags.synchronization_health_desc
FROM sys.dm_hadr_availability_group_states dhags

báo cáo rằng tất cả sức khỏe đồng bộ hóa sao chép nhóm sẵn có là NOT_HEALTHY

select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states

báo cáo rằng tất cả các bản sao có một sức khỏe đồng bộ HEALTHY.

Bản sao chính báo cáo tất cả các Nhóm sẵn có và bản sao có sức khỏe đồng bộ hóa là HEALTHY.

Mặc dù tôi hiểu rằng một báo cáo về sức khỏe đồng bộ hóa bản sao và các báo cáo khác về sức khỏe đồng bộ hóa AG, nhưng có vẻ hợp lý với tôi rằng nếu trạng thái chi tiết hơn (AG) không lành mạnh, điều đó sẽ ảnh hưởng đến sức khỏe tổng thể của bối cảnh rộng hơn (bản sao) . Tôi không thể tìm thấy tài liệu MSDN mô tả cách xác định sức khỏe ở mỗi cấp.

Tại sao những người thứ hai sẽ báo cáo NOT_HEALTHYvề sức khỏe đồng bộ hóa của Nhóm sẵn có, nhưng HEALTHYđối với sức khỏe đồng bộ hóa bản sao và tại sao điều này khác với báo cáo của chính?


Bạn có thể xác nhận rằng bạn chỉ nhìn thấy NOT_HEALTHYtrên bản sao ASYNC thứ cấp không?
Kin Shah

Tôi đang nhìn thấy NOT_HEALTHYtrên cả bản sao SYNC và ASYNC.
swasheck 20/07/2015

Câu trả lời:


5

Đáng buồn thay, các trạng thái sys.dm_hadr_avcellence_Vplica không phải là một chỉ số đáng tin cậy về sức khỏe bản sao. Đây là mục Connect trên một trong những lỗi mà chúng tôi gặp phải khi DMV ngừng làm mới - lưu ý trong các nhận xét rằng log_send_queue_size trong DMV sys.dm_hadr_database_Vplica_states hiển thị 0 ngay cả khi dữ liệu nhật ký được gửi.

Lưu ý rằng mục Kết nối được đánh dấu là Không sửa. Trombone buồn.


Liên kết đến một trang cho biết MS Connect đã nghỉ hưu. Q & A này là năm 2015. Đó là bốn năm sau. Tôi ở đây vì tôi thấy điều tương tự như OP. Tôi đoán họ có nghĩa là "sẽ không sửa chữa". Đó là một chút khập khiễng. Mặt khác - có ai biết một tập lệnh tốt để báo cáo AG Health và config, từ nhóm để sao chép đến mức đồng bộ hóa cơ sở dữ liệu không?
youcantryreachingme

Tái bút Đối với tôi, sys.dm_hadr_availability_group_states.synchronization_health_desc(mà tôi hiểu là báo cáo về sức khỏe của cả nhóm) báo cáo NOT_HEALTHYvề người thứ hai, nhưng HEALTHYtrên bản chính (3 bản sao). Tài liệu mô tả col là "một bản đồng bộ hóa của tất cả các bản sao khả dụng trong nhóm khả dụng". Điều này cho thấy sự chênh lệch trong hệ thống mà không cần nhìn vào sys.dm_hadr_avcellence_Vplica_states (có lẽ, có lẽ là từ nơi dữ liệu đang được cuộn lên).
youcantryreachingme

@youcantryreachingme đó là một câu hỏi khác - đặt cược tốt nhất của bạn sẽ bắt đầu một câu hỏi mới.
Brent Ozar
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.