监控AlwaysOn可用性组的运行状态

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

监控AlwaysOn可用性组的运行状态

杜飞

SQL Server提供用于多种监控AlwaysOn可用性组运行状态的方法:

之一是利用SQL Server的系统中心监视包:也就是借助System Center Operations Manager来实现对SQL Server的监视,管理员需要下载MP管理包,下载地址:http://www.microsoft.com/zh-CN/download/details.aspx?displaylang=en&id=10631。关于此内容又可另开篇章,在此不做介绍。

之二是利用系统视图和动态管理视图:AlwaysOn 可用性组目录和动态管理视图提供了有关可用性组及其副本、数据库、侦听器和 WSFC 群集环境的大量信息。 在此,将重要的视图做一介绍。

1. 监视WSFC群集上的可用性组

sys.dm_hadr_cluster:如果承载启用了 AlwaysOn 可用性组的Windows Server 故障转移群集 (WSFC) 节点具有 WSFC 仲裁,则 sys.dm_hadr_cluster 将返回公开群集名称和仲裁信息的一行。如果 WSFC 节点没有仲裁,则不会返回任何行。

image

sys.dm_hadr_cluster_members :如果承载启用了 AlwaysOn的 WSFC 节点具有 WSFC 仲裁,则为构成仲裁的每一个成员及各个成员的状态都返回一行。

image

sys.dm_hadr_cluster_networks:为每个参与可用性组子网配置的成员都返回一行。可以使用此动态管理视图来验证为每个可用性副本配置的网络虚拟IP。

image

 
sys.dm_hadr_instance_node_map:对于承载加入其 AlwaysOn 可用性组的可用性副本的每个 SQL Server 实例,将返回承载该服务器实例的 Windows Server 故障转移群集 (WSFC) 节点的名称。此动态管理视图具有以下用法:

? 此动态管理视图对于检测包含承载于同一 WSFC 节点上的多个可用性副本的可用性组很有用,这是一个不受支持的配置,如果可用性组的配置不正确,则在进行 FCI 故障转移后可能出现此配置。  
? 当多个 SQL Server 实例承载于同一 WSFC 节点上时,资源 DLL 将使用此动态管理视图来确定要连接到的 SQL Server 实例。

image

2. 监视可用性组

sys.availability_groups:为 SQL Server 的本地实例承载其可用性副本的每个可用性组返回一行。  每一行都包含可用性组元数据的缓存的副本。

image
sys.availability_groups_cluster:为 WSFC 群集中的每个可用性组返回一行。  每一行均包含 Windows Server 故障转移群集 (WSFC) 群集中的可用性组元数据。

image

sys.dm_hadr_availability_group_states :为在 SQL Server 的本地实例上拥有可用性副本的每个可用性组返回一行。每行显示定义给定可用性组的运行状况的状态。

image

3.监视可用性副本

若要监视可用性副本,请使用以下视图和系统函数:  
sys.availability_replicas:为 SQL Server 的本地实例承载其可用性副本的每个可用性组中的每个可用性副本返回一行。     
image

sys.dm_hadr_availability_replica_cluster_nodes:为 Windows Server 故障转移群集 (WSFC) 群集中 AlwaysOn 可用性组的每个可用性副本(不论联接状态如何)都返回一行。

image

sys.fn_hadr_backup_is_preferred_replica:用于确定当前副本是否为首选备份副本。如果当前实例上的数据库位于首选副本上,则返回 1。  否则,返回 0。

image

4. 监视可用性数据库

sys.availability_databases_cluster:为 SQL Server 实例上的每个数据库(作为群集中所有 AlwaysOn 可用性组的一部分)包含一行,不论本地副本数据库是否联接到可用性组。

image

sys.dm_hadr_database_replica_cluster_states:返回一行信息,这些信息旨在让您洞察 WSFC 故障转移群集 (WSFC) 群集上每个可用性组中的可用性数据库的运行状况。  此动态管理视图适用于以下情况:计划或响应某一故障转移,或发现可用性组中的哪一个辅助副本正在阻止给定主数据库上的日志截断。    
image

5. 监视侦听器

若要监视 WSFC 群集子网上的可用性组侦听器,请使用以下视图:  
sys.availability_group_listener_ip_addresses:针对可用性组侦听器,为当前联机的每个符合标准的虚拟 IP 地址返回一行。

image

sys.availability_group_listeners:对于给定的可用性组,返回零行(指示没有与该可用性组关联的网络名称),或为 WSFC 群集中的每个可用性组侦听器配置返回一行。

image

sys.dm_tcp_listener_states:返回包含各个 TCP 侦听器的动态信息的行。

image

以上系统视图和动态管理视图内容可参考:http://technet.microsoft.com/zh-cn/library/ff878305.aspx

之三是借助AlwaysOn的仪表盘:将各种信息集中在一体的报表,它本身包含丰富的信息,通过它你还能转向到其他的日志(AlwaysOn_health事件,SQL错误日志,Windows 群集日志以及Windows事件日志等),以获得更进一步的分析信息。下面,咱们就打开仪表盘,方法是在SSMS中找到可用性组,右键---显示面板,就可以看到下图的界面:

image

在此界面中可以进行故障转移,可以查看AlwaysOn的运行状况、查看仲裁信息等。至于AlwaysOn的一些基本操作,有很多方法可以实例,T-SQL、PowerShell、SSMS等,例如下图就是通过SSMS从可用性组中删除数据库(在辅助副本上操作):

image

至于其他操作,如添加数据库、添加副本、添加侦听器、故障转移等,在可用性组名上右键即可进行相应操作。好吧,时间不早了,关灯,睡觉。








 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/1386763,如需转载请自行联系原作者


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
Kubernetes Perl 容器
K8s查看集群 状态事件描述以及Pod日志信息
K8s查看集群 状态事件描述以及Pod日志信息
51 3
|
7月前
|
Kubernetes 容器
k8s集群状态全部为NotReady , 已解决
等待一会 , 执行命令kubectl get nodes 状态就好了
60 0
|
运维 Kubernetes API
关于K8s集群环境工作组隔离配置多集群切换的一些笔记
+ 分享一些 K8s 中集群管理的笔记 + 博文内容涉及集群环境隔离的相关配置: + 单集群多命名空间隔离及用户认证鉴权配置 Demo + 多集群的统一管理配置,集群切换 Demo + 理解不足小伙伴帮忙指正 + 食用方式: 需要了解 K8s 集群,RBAC 鉴权,CA 认证相关知识
885 0
|
负载均衡 监控 算法
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
312 0
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
|
存储 应用服务中间件 文件存储
|
监控 NoSQL 关系型数据库