AG扩展事件

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

SELECT * FROM sys.dm_xe_objects WHERE name LIKE '%hadr%'

1.AlwaysOn健康(AlwaysOn_health)会话

AlwaysOn_health扩展会话当你在创建AG并捕获AlwaysOn相关事件的子集。这个会话被配置为有用的,方便的工具来帮助你开启调试AG。创建AG窗口在每个特定可用性副本配置窗口中自动启动会话。

如果你没有使用新建AG对话框,AlwaysOn_health会话可能不会自动启动,如果会话没有启动,不能再问题发生的时候捕获每个数据。你应该手动启动会话并且配置会话来自动会话。

通过查看AlwaysOn_health会话的定义:
1.SSMS,展开扩展事件,会话
2.右击AlwaysOn_health,然后创建脚本

更多关于ALwaysOn_health的信息查看:AlwaysOn
Extended Events Reference
.

2.调试扩展事务

如果要有额外的事件覆盖AlwaysOn_health会话,SQL Server定义了一大集合的调试事件。需要作一下步骤:
1.在SSMS,展开扩展事件,会话
2.右击创建时间,或者右击AlwaysOn_health,选择属性
3.选择事件页面
4.在library,目录列,选择alwayson并且清除所有目录
5.在Channel列,选择调试,所有相关事件,没有被选择的都会显示在event library
6.event library选中一个,然后点击”>”按钮
7.当完成会话,点击OK关闭。保证会话已经启动了。

3.AlwaysOn扩展事件引用

AlwaysOn扩展事件被用来跟踪AG

3.1 availability_replica_state_change

当AG的状态发生变化。AG的创建或者加入一个可用副本。可以用来诊断错误自动故障转移。可以用来跟踪转移步骤。

3.2 availability_gruop_lease_expired

当集群和可用组出现连接问题和租用过期。这个事件说明AG和WSFC集群连接断开。如果连接问题发生在primary副本。事件可能会自动转移或者导致AG offline。

3.3 availability_replica_automatic_failover_validation

当自动故障转移验证AG作为primary副本的必要性,显示是否目标可用副本已经做好了成为新primary副本的准备。比如,当并不是所有数据库都是被同步的,或者不是已被加入的,故障转移验证返回错误。这个事件被设计用来提供在故障转移的时候提供错误点。可以根据这个信息检查为什么自动故障转移发生。

3.4 error_reported:对于传输或链接问题

每个过滤事件说明一个连接问题发生,数据库镜像endpoint发生错误

3.5 data_movement_suspend_resume

当数据库副本movement挂起或者恢复的时候触发事件。

3.6 alwayson_ddl_executed

当发生AlwasOn DDL语句,包括Create,Alter,Drop语句。事件的主要目的说明AG中用户的行为,或者说明用户操作行为的开始点。事件可以跟踪手动故障转移,强制故障转移,中断和恢复数据移动。

3.7 alwayson_replica_manager_stat

当可用性副本管理状态修改触发。这个事件说明可用性副本管理的心跳。当可用性副本管理没有心跳状态,SQL Server实例中的所有可用性副本都会下线。

3.8 error_reported,数据库副本角色修改

这个过滤的,AG角色变化的时候,error_reported事件被异步触发。这个说明哪个可用性数据库在修改故障转移时修改角色失败。

[AlwaysOn Availability Groups]AG扩展事件的更多相关文章

  1. [AlwaysOn Availability Groups]AG排查和监控指南

    AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance ...

  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]监控AG性能

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

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

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

  7. [AlwaysOn Availability Groups]AlwaysOn健康诊断日志

    AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics. SQL Ser ...

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

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

  9. [AlwaysOn Availability Groups] 健康模型 Part 2 ——扩展

    健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为制定的归类.创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略. 场景, ...

随机推荐

  1. C语言 第八章 函数、指针与宏

    一.函数 函数是一个包含完成一定功能的执行代码段.我们可以把函数看成一个"黑盒子", 你只要将数据送进去就能得到结果, 而函数内部究竟是如何工作的的, 外部程序是不知道的.外部程序 ...

  2. Oracle数据库资源管理

    1.了解Resource Manager术语 2.了解Resource Manager分配方法 3.了解DEFAULT_PLAN 4.新建资源计划 5.创建使用者组 6.了解资源分配方法 7.分配使用 ...

  3. SAX解析技术

    SAX,全称Simple API for XML,既是指一种接口,也是指一个软件包.SAX工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束.元素(element)开始 ...

  4. 【NopCommerce源码架构学习-二】单例模式实现代码分析

    单例模式是是常用经典十几种设计模式中最简单的..NET中单例模式的实现也有很多种方式.下面我来介绍一下NopCommerce中单例模式实现. 我之前的文章就分析了一下nop中EngineContext ...

  5. cursor.MySQLCursorDict Class

    5.9.6.4 cursor.MySQLCursorDict Class The MySQLCursorDict class inherits from MySQLCursor. This class ...

  6. How do I see all foreign keys to a table or column?

    down voteaccepted For a Table: SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME, ...

  7. Java中,方法的重写、重载的区别,以及多态的实例

    首先我们要明白什么是重写和重载 重写(override):子类方法覆盖了父类的方法.    (类与类之间继承的关系) 例:父类代码 public class Deng { public void Qi ...

  8. 《TypeScript 中文入门教程》 1、基础数据类型

    转载:https://github.com/MyErpSoft/TypeScript-Handbook/blob/master/pages/zh-CHS/Basic%20Types.md 概述 为了让 ...

  9. php实现设计模式之 中介者模式

    <?php /* * 中介者模式:用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 */ /* * 以一个同学qq群为例说明, ...

  10. python字符串连接的N种方式

    python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 st ...