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事件被异步触发。这个说明哪个可用性数据库在修改故障转移时修改角色失败。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2012-11-22 [转]SQLSERVER 18056 错误