AG排查和监控指南

1. 排查场景

如下表包含了常用排查的场景。根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance。

Scenario

笔记

Scenario Type

Description

Troubleshoot AlwaysOn Availability Groups Configuration (SQL Server)

排查:AG配置

Configuration

提供了一些典型的配置AG实例发生问题的信息。比如AG被禁用,账号配置不正确,镜像endpoint不存在(SQL Server Error 1418)。网络访问不存在,join数据库失败(SQL Server Error 35250)。

Troubleshoot "Validating WSFC quorum vote configuration" warning

Configuration

当使用对话框创建AG时,收到一个警告: “The current WSFC cluster quorum vote configuration is not recommended for this availability group.”

Troubleshoot issues when creating availability group listeners

Configuration

在创建AG Listener的时候发生错误。

Troubleshoot a Failed Add-File Operation (AlwaysOn Availability Groups)

Configuration

添加文件导致secondary数据库挂起,状态变为NOT SYNCHORNIZING

Fix: Error 41009 when you try to create multiple availability groups

Configuration

创建多个AG时发生41009 错误

Cannot connect to availability group listener in a multi-subnet environment

Client Connectivity

创建了AG Listener之后,无法ping通和连接

Troubleshoot failed automatic failovers

Failover

自动故障转移不能成功完成

Troubleshoot: Availability Group Exceeded RTO

排查:AG超过RTO

Performance

自动故障转移或者计划内的手动转移之后,切换时间超过了RTO时间

Troubleshoot: Availability Group Exceeded RPO

排查:AG超过RPO

Performance

强制故障转移后,都是的数据超过了RPO。或者异步提交的replica能够承受的数据丢失超过了RPO。

Troubleshoot: Changes on the Primary Replica are not Reflected on the Secondary Replica

排查:Primary上的修改无法在Secondary体现

Performance

客户端程序可以成功的完成primary的修改,但是查询replia却没有反应。

2. 排查工具

以下工具可以用来排查,配置时或者运行时发生的问题

Tool

笔记

Description

Use the AlwaysOn Dashboard (SQL Server Management Studio)

在UI接口下,获取某个时间点的AG健康情况。

AlwaysOn Policies

被Alwayson Dashboard使用

SQL Server Error Log (AlwaysOn Availability Groups)

SQL Server错误日志(AG)

记录AG,副本,数据库,其他AG主键的状态变化,和AG的错误

CLUSTER.LOG (AlwaysOn Availability Groups)

CLUSTER.LOG(AG)

记录集群时间,包括AG资源的状态变化,SQL Server resource DDL的事件和错误。

AlwaysOn Health Diagnostics Log

AlwaysOn健康诊断日志

记录SQL Server健康诊断被报告到WSFC集群,由sp_server_diagnostics (Transact-SQL)产生

Dynamic Management Views and System Catalog Views (AlwaysOn Availability Groups)

DMV和系统目录视图

报告AG的信息,比如配置,健康状况,性能问题

AlwaysOn Extended Events

AG扩展事件

提供了详细AG信息用来诊断,分析起因

AlwaysOn Wait Types

AlwaysOn等待类型

提供了AG特定的等待信息,用来调整性能

AlwaysOn Performance Counters

监控AG的活动,反馈到系统监视器,用来调优,具体可以看 SQL Server, Availability Replica 和 SQL Server, Database Replica.

AlwaysOn Ring Buffers

AlwaysOn Ring Buffers

记录SQL Server系统内部争端的警告,用来debug和AG有关的问题。

3. 监控AG

理想的排查时间是在故障转移之前。这个可以通过监控性能值,在超过SLA之前发送告警。比如同步secnodary副本有性能问题,因为预计failover时间增加。AG是高可用和灾难恢复解决访问,最重要的性能指标是切换时间,会影响RTO,灾难导致的数据丢失会影响RPO。

以下表文章用来监控AG的健康状况:

Topic

笔记

Description

Monitor Performance for AlwaysOn Availability Groups

监控AG性能

描述AG数据同步,阀值控制,和一些有用的值用来监控AG,还有如何收集RTO,RPO的值。

Monitoring of Availability Groups (SQL Server)

提供一些AG监控工具

The AlwaysOn Health Model Part 1 -- Health Model Architecture

健康模型 Part 1——概述

提供一个Alwayson健康模型的概述

The AlwaysOn Health Model Part 2 -- Extending the Health Model

健康模型 Part 2 ——扩展

如何用户定制Alwayson监控模型和用户定义Alwayson Dashboard,来显示额外的信息。

Monitoring AlwaysOn Health with PowerShell - Part 1: Basic Cmdlet Overview

使用Powershell监控AlwayOn健康

提供一些基本的Alwayson Powershell命令。用来监控AG的健康状况。

Monitoring AlwaysOn Health with PowerShell - Part 2: Advanced Cmdlet Usage

使用Powershell监控AlwayOn健康

提供一些高级的Alwayson Powershell命令。用来监控AG的健康状况。

Monitoring AlwaysOn Health with PowerShell - Part 3 : A Simple Monitoring Application

使用Powershell监控AlwayOn健康

显示如何使用城区监控AG。

Monitoring AlwaysOn Health with PowerShell - Part 4 : Integration with SQL Server Agent

使用Powershell监控AlwayOn健康

如何使用SQL Server Agent集成监控AG,并且在出问题的时候通知。

[AlwaysOn Availability Groups]AG排查和监控指南的更多相关文章

  1. [AlwaysOn Availability Groups]AG扩展事件

    AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM s ...

  2. [AlwaysOn Availability Groups]排查:AG配置

    排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description A ...

  3. [AlwaysOn Availability Groups]DMV和系统目录视图

    DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG. 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过 ...

  4. [SQL in Azure] Tutorial: AlwaysOn Availability Groups in Azure (GUI)

    http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx Tutorial: AlwaysOn Availability Groups i ...

  5. [AlwaysOn Availability Groups]CLUSTER.LOG(AG)

    CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控 ...

  6. [AlwaysOn Availability Groups]AlwaysOn等待类型

    AlwaysOn等待类型 当排查AlwaysOn延迟,等待统计信息可以在DMV中查看累计的AlwaysOn等待类型. 查看AlwaysOn等待类型 SELECT * FROM sys.dm_os_wa ...

  7. [AlwaysOn Availability Groups]监控AG性能

    监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的.理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好. 1. 数据同步步骤 为了评 ...

  8. [AlwaysOn Availability Groups]排查:AG超过RPO

    排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO. 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Pr ...

  9. [AlwaysOn Availability Groups]排查:AG超过RTO

    排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO.或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO. 1. 通常原因 通常 ...

随机推荐

  1. [Intel Edison开发板] 05、Edison开发基于MRAA实现IO控制,特别是UART通信

    一.前言 下面是本系列文章的前几篇: [Intel Edison开发板] 01.Edison开发板性能简述 [Intel Edison开发板] 02.Edison开发板入门 [Intel Edison ...

  2. 如何下载Github单个文件(Windows平台)

    如何下载Github单个文件(Windows平台) 前提 安装Chrome 浏览器 Chrome浏览器 安装迅雷软件 安装Chrome 迅雷插件 可能商店里迅雷插件有好几种,这里使用这一种 一般使用者 ...

  3. FireFox调试手机浏览器

    https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android IN THIS ARTICLE ...

  4. 计算照片的面积(UWP篇)

    今天先说UWP应用程序上计算照片面积的方法,改天有空,再说说WPF篇. 其实计算照片面积的原理真TMD简单,只要你有本事读到照片的像素高度和宽度,以及水平/垂直方向上的分辨率(DPI)就可以了.计算方 ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(20)-权限管理系统-根据权限获取菜单

    系列目录 不知不觉到20讲,真是漫长的日子,可惜最近工作挺忙,要不可以有更多的时间来更新,多谢大家的一路支持.如果你觉得好,记得帮我点击推荐^-^ 我们在之前已经插入一些真实数据,其中包含了一个用户和 ...

  6. DotLiquid模板引擎简介

    DotLiquid是一个在.Net Framework上运行的模板引擎,采用Ruby的Liquid语法,这个语法广泛的用在Ruby on rails和Django等网页框架中. DotLiquid相比 ...

  7. 【小型系统】简单的刷票系统(突破IP限制进行投票)

    一.前言 相信大家平时肯定会收到朋友发来的链接,打开一看,哦,需要投票.投完票后弹出一个页面(恭喜您,您已经投票成功),再次点击的时候发现,啊哈,您的IP(***.***.***.***)已经投过票了 ...

  8. 行为驱动开发(BDD)实践示例

    引言 BDD是对TDD理念的扩展.BDD强调有利害关系的技术团体和非技术团队都要参与到软件开发过程中.可以把它看成一种强调团体间合作的敏捷方法.大多数采用某种敏捷方法的团队最终都会遵循BDD的许多原则 ...

  9. 由浅入深学习ajax跨域(JSONP)问题

    什么是跨域?说直白点就是获取别人网站上的内容.但这么说貌似又有点混淆,因为通常我们用ajax+php就可以获取别人网站的内容,来看下面这个例子. 来看看跨域的例子,jquery+ajax是不能跨域请求 ...

  10. [MEF插件式开发] 一个简单的例子

    偶然在博客园中了解到这种技术,顺便学习了几天. 以下是搜索到一些比较好的博文供参考: MEF核心笔记 <MEF程序设计指南>博文汇总 先上效果图 一.新建解决方案 开始新建一个解决方案Me ...