zoukankan      html  css  js  c++  java
  • [AlwaysOn Availability Groups]DMV和系统目录视图

    DMV和系统目录视图

    这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG

    AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过右击各自的表头并且选择你要加入和隐藏的DMV

    更多关于DMV信息查看: AlwaysOn Availability Groups Dynamic Management Views and Functions (Transact-SQL).查看更多AG目录视图查看:AlwaysOn Availability Groups Catalog Views (Transact-SQL).

    1.检查WSFC集群节点配置

    use master

    go

    select * from sys.dm_hadr_cluster_members

    go

    结果集报告了每个成员节点的状态。quorum定义为节点和文件共享大多数。你可以看到每个节点的状态,包括每个节点投票的权重( number_of_quorum_votes)

    2.集群网络

    以下查询获取WSFC集群的网络配置:

    select * from sys.dm_hadr_cluster_networks

    这个结果,WSFC集群中的每个网络配置返回一样。比如双节点集群每个节点包含2个网络适配器,那么就返回4行。

    3.可用组

    以下语句获取AG信息。

    select primary_replica, primary_recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_group_states

    go

    select * from sys.availability_groups

    go

    select * from sys.availability_groups_cluster

    go

    DMV sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL), sys.availability_groups_cluster 返回WSFC集群中关于AG的所有信息。实际上sys.availability_groups (Transact-SQL), sys.availability_groups_cluster会返回相同的信息。

    实际上, sys.availability_groups_cluster 返回保存在WSFC集群中AG的元数据。而sys.availability_groups (Transact-SQL) 返回SQL Server过程空间缓存的AG元数据信息。sys.dm_hadr_availability_group_states (Transact-SQL) 返回了当前AG的健康状态。

    4.可用副本

    以下查询返回Ag中的可用副本:
    select replica_id, role_desc, connected_state_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states

    go

    select replica_server_name, replica_id, availability_mode_desc, endpoint_url from sys.availability_replicas

    go

    select replica_server_name, join_state_desc from sys.dm_hadr_availability_replica_cluster_states

    go

    类似于AGDMV,有3个关于可用副本的DMVsys.dm_hadr_availability_replica_states返回可用副本的当前状态, sys.dm_hadr_availability_replica_cluster_states WFSC中返回可用副本的状态。 sys.availability_replicas返回可用副本的配置信息。

    5.可用副本健康

    通过以下查询获取当前可用副本健康信息

    select replica_id, role_desc, recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states

    go

    比较primary副本和secondary副本,注意secondary副本,健康信息只报告AG内的可用副本。

    6.可用数据库

    以下信息获取可用副本内的数据库信息。你可以观察中断数据移动前后的可用数据库变化:
    select * from sys.availability_databases_cluster

    go

    select group_database_id, database_name, is_failover_ready  from sys.dm_hadr_database_replica_cluster_states

    go

    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

    go

    3个关于可用数据库的DMVsys.availability_databases_cluster返回在WSFC中的可用数据库的信息。sys.dm_hadr_database_replica_cluster_states返回数据库中数据库副本的状态信息。包含了一些重要的信息,比如是否准备好副本转移。 sys.dm_hadr_database_replica_states是最详细,返回了关于每个可用数据库的状态信息,比如LSN处理进程。

    7.可用数据库健康

    一下信息获取每个可用数据库的健康信息。

    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

    go

     

     

  • 相关阅读:
    C#中的委托和事件的使用
    C#中Attribute/特性的使用
    Eclipase + CDT
    设计模式总结
    Nginx源码编译
    Nginx自定义扩展模块
    电池的寿命
    大盗阿福
    河中跳房子
    An Easy Problem
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/4984734.html
Copyright © 2011-2022 走看看