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耦合,被用来确定集群是否重启或者故障转移。这个过程是新SQL Server实例的心跳线,比之前的更加细致,更加可靠。不像之前的版本只是运行select @@servername。然后可以通过条件控制故障转移触发通过设置FailureConditonLevel 属性。
使用SQL Server故障转移集群诊断日志
所有健康诊断,SQL Server resource DLL都是从sp_server_diagnostics获取自动被保存到 (%PROGRAMFILES%\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log)。这些日志被称为SQLDIAG日志保存为XEL格式(扩展事件)。这些文件的格式为<HOSTNAME>_<INSTANCENAME>_SQLDIAG_X_XXXXXXXXX.xel。通过查看SQLDIAG日志,你可以发现AG资源错误或者故障转移事件的根本问题。
通过把xel文件拖到SSMS可以查看这些日志