为什么这两个HADR DMV报告不同的状态?


8

SQL Server 2012(11.0.5058.0)企业版

我们在2(HA)+1(DR)群集中有8个可用性组,而我们的监视DMV正在报告使我感到困惑的结果。为HA和DR配置了6个可用性组,仅为HA配置了1个可用性组,仅为DR配置了1个可用性组。

6个HA / DR可用性组中的每个具有“ SQLB”作为主副本,“ SQLA”作为辅助(同步)HA副本,而“ SQLC”作为辅助(异步)副本。

在两个次级上:

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

报道说,所有可用性组复制同步健康是NOT_HEALTHY

select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states

报告所有副本的同步运行状况为HEALTHY

主副本报告所有运行状况为的可用性组和副本HEALTHY

虽然我了解一个报告有关副本同步运行状况,而另一些报告有关AG同步运行状况,但对我来说,如果更精细的(AG)状态不健康,那将影响更广泛上下文(副本)的整体运行状况,这似乎是合乎逻辑的。我找不到描述如何确定每个级别的运行状况的MSDN文档。

为什么辅助服务器报告NOT_HEALTHY可用性组同步运行状况,而HEALTHY副本服务器同步运行状况,为什么这与主数据库的报告不同?


您可以确认NOT_HEALTHY仅在辅助ASYNC副本上看到吗?
Kin Shah

NOT_HEALTHY在SYNC和ASYNC副本上都看到了。
swasheck

Answers:


5

可悲的是,sys.dm_hadr_availability_replica状态不是副本运行状况的可靠指示。这是关于我们已遇到的DMV停止刷新的错误之一的Connect项 -注意注释中的DMV sys.dm_hadr_database_replica_states中的log_send_queue_size即使显示要发送的日志数据也显示为0。

请注意,“连接”项被标记为“无法修复”。悲伤的长号。


链接到达页面,提示MS Connect已退役。这次问答是在2015年。四年之后。我在这里是因为我看到的是与OP相同的东西。我猜他们的意思是“不会解决”。有点la脚。另一方面,有人知道一个很好的脚本来报告AG运行状况和配置,从组到副本再到数据库同步级别?
youcantryreachingme

PS。对我而言,sys.dm_hadr_availability_group_states.synchronization_health_desc(据我所知,它报告的是整个组的运行状况)NOT_HEALTHY关于次要的报告,但是HEALTHY关于主要(3个副本)的报告。文档将col描述为“可用性组中所有可用性副本的synchronous_health的汇总”。这显示了系统内部的差异,甚至没有查看sys.dm_hadr_availability_replica_states(大概是从其汇总数据的位置)。
youcantryreachingme

@youcantryreachingme是一个不同的问题-最好的选择是开始一个新问题。
布伦特·奥扎尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.