[AlwaysOn Availability Groups]AG扩展事件

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事件被异步触发。这个说明哪个可用性数据库在修改故障转移时修改角色失败。

时间: 2024-07-31 08:14:16

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

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

AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance. Scenario 笔记 Scenario Type Description Troubleshoot AlwaysOn Availability Groups Configuration (SQL Server) 排查:AG配置 Configuration 提供了一些典型的配置AG实例发生问题的

[AlwaysOn Availability Groups]排查AG配置

排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description AlwaysOn Availability Groups Is Not Enabled 如果实例没有启动AG特性,实例就不支持任何AG相关的功能 Accounts 在SQL Server在运行的情况下,正确的账号配置 Endpoints 诊断关于实例的镜像endpoint问题. System name

[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 Availabi

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

AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics. SQL Server resource DLL维护了一个专用的连接到SQL Server实例,通过这个SQL Server实例定期的发送健康诊断信息到SQL Server resource DLL.健康诊断信息与集群中的AG中的failover policy耦合,被用来确定集群是否重启或者故障转移.这个过程是新S

[AlwaysOn Availability Groups]AlwaysOn等待类型

AlwaysOn等待类型 当排查AlwaysOn延迟,等待统计信息可以在DMV中查看累计的AlwaysOn等待类型. 查看AlwaysOn等待类型 SELECT * FROM sys.dm_os_wait_stats WHERE wait_type LIKE '%hadr%' ORDER BY wait_time_ms DESC 使用一下语句,获取捕获扩展事件,等待类型. CREATE EVENT SESSION [alwayson] ON SERVER ADD EVENT sqlos.wait

[AlwaysOn Availability Groups]SQL Server错误日志(AG)

SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint的状态 5.AG Listener的状态 6.SQL Server resource DLL和SQL Server实例的租用状态 7.AG的错误事件 出现以下状态就需要检查错误日志: 1.无法连接到可用性数据库 2.非预料的AG故障转移 3.AG的Resolving状态不可预期 4.AG在不其确定的

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

排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO. 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 2.磁盘IO瓶颈导致LOG固化速度降低 2. 网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 很多超过RPO的原因是日志发送到secondary副本不够快. 原因: Primary副本在日志发送启动了流量控制,因为日志发送超过了最大运行的非通知信息的量.直到这些信息

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

排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO.或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO. 1. 通常原因 通常引起故障转移超过RTO的原因: 1.报表负荷堵塞了Redo线程. 2.因为资源争用,Redo线程被落下. 2. 报表负荷堵塞了Redo线程 Redo线程在secondary副本被一个只读长运行语句堵塞. 原因: 在secondary副本,只读查询获得Sch-s锁,这些sch-s锁会堵塞redo线程获

[AlwaysOn Availability Groups]健康模型概述 Part 1

健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的.如果不熟悉这个特性,可以查看:使用基于策略的管理来管理服务器 PBM的核心是策略,策略有以下部分组成: 1.目标,策略运行在有一组或者一个对象上. 2.条件,条件是bool表达式,指定目标的状态.如果条件false,就会发生错误. 3.归类,归类是对策略的简单归类 一旦你定义了一个策略,PBM会提供引擎来执行这些策略,获