这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG。
在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过右击各自的表头并且选择你要加入和隐藏的DMV。
use master
go
select * from sys.dm_hadr_cluster_members
以下查询获取WSFC集群的网络配置:
select * from sys.dm_hadr_cluster_networks
这个结果,WSFC集群中的每个网络配置返回一样。比如双节点集群每个节点包含2个网络适配器,那么就返回4行。
以下语句获取AG信息。
select primary_replica, primary_recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_group_states
select * from sys.availability_groups
select * from sys.availability_groups_cluster
以下查询返回Ag中的可用副本:
select replica_id, role_desc,
connected_state_desc,
synchronization_health_desc from sys.dm_hadr_availability_replica_states
select replica_server_name, replica_id,
availability_mode_desc, endpoint_url from sys.availability_replicas
select replica_server_name, join_state_desc from
sys.dm_hadr_availability_replica_cluster_states
通过以下查询获取当前可用副本健康信息
select replica_id, role_desc, recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states
比较primary副本和secondary副本,注意secondary副本,健康信息只报告AG内的可用副本。
以下信息获取可用副本内的数据库信息。你可以观察中断数据移动前后的可用数据库变化:
select * from sys.availability_databases_cluster
select group_database_id, database_name,
is_failover_ready from sys.dm_hadr_database_replica_cluster_states
select database_id, synchronization_state_desc,
synchronization_health_desc, last_hardened_lsn, redo_queue_size,
log_send_queue_size from sys.dm_hadr_database_replica_states
一下信息获取每个可用数据库的健康信息。
select dc.database_name, dr.database_id, dr.synchronization_state_desc,
dr.suspend_reason_desc, dr.synchronization_health_desc
from sys.dm_hadr_database_replica_states dr join sys.availability_databases_cluster dc
on dr.group_database_id=dc.group_database_id
where is_local=1