注意
若要诊断触发可用性组故障转移的 AlwaysOn 可用性组运行状况问题,请参阅 AlwaysOn 可用性组故障转移疑难解答。
AGDiag 是一个应用程序,可自动对群集日志进行手动分析,并关联和报告来自其他日志的相关事件(SQL Server 错误日志、Windows 事件日志等)。 AGDiag 生成 Windows 群集和 Always On 运行状况事件的摘要报告,并为检测到的每个运行状况事件提供更详细的分析结果。 当你在运行状况事件时提供可用性组主副本的相应日志时,它还会自动执行大部分工作。
生成用于 AGDiag 诊断的日志
可使用各种方法生成供 AGDiag 输入的日志。 AGDiag 依赖于以下基本日志进行分析:
- Windows 群集诊断日志
- SQL Server 错误日志
- Windows 系统事件日志
- 系统健康扩展事件 (XEL) 文件
- AlwaysOn 运行状况会话 XEL 文件
作为手动收集这些日志的替代方法,可以使用以下任一日志收集工具来捕获它们:
- LogScout
- TSS
使用 SQL LogScout 捕获 AGDiag 分析的日志
若要诊断可用性组运行状况事件,请使用 SQL LogScout 收集事件时处于主要角色的 SQL Server 实例上的日志:
将最新的 SQL LogScout 下载为 .zip 文件。
在 SQL Server 托管主副本的计算机上保存和提取 .zip 文件。 此系统是故障转移启动或可用性组正在解析的位置。
打开提升的 PowerShell 命令提示符窗口,并将目录更改为提取 .zip 文件的 SQL LogScout 文件夹。
运行以下命令以捕获
Basic方案,并按照提示进行操作。.\SQL_LogScout.ps1 -Scenario "Basic" -ServerName "<Your_Sql_Instance_Name>"
日志捕获过程完成后,可以将 AGDiag 指向
\output在 SQL LogScout 文件夹中创建的文件夹。 此文件夹包含 SQL LogScout 收集的日志。
使用 TSS 生成 AGDiag 诊断日志
或者,可以在事件发生时在主角色的 SQL Server 实例上使用 TSS 捕获日志:
将工具集(TSSv2.zip)下载为 .zip 文件。 有关详细信息,请参阅 TroubleShootingScript 工具集(TSSv2)简介。
将 .zip 文件保存并提取到 SQL Server 实例上的一个文件夹,该实例在故障转移开始或可用性组解析时托管可用性组的主副本。
打开提升的命令提示符窗口,将目录更改为保存并提取 TSSv2.zip 文件、运行
TSS SDP:SQLBase和响应提示的 TSS 文件夹。TSS 创建 SQLBase .cab 文件后,将 .cab 文件提取到文件夹中。
下载 AGDiag 工具
若要下载 AGDiag,请执行以下步骤:
选择 agdiag.zip 链接以下载该工具。
启动 AGDiag 并将其馈送解压缩的 TSS 日志
下载该工具后,请按照以下步骤启动 AGDiag 并将其馈送解压缩的 TSS 日志:
提取 .zip 文件,然后双击 agdiag.exe 启动 AGDiag。
将显示类似于以下框的对话框。
选择“选择日志文件夹”,进入提取 TSS SQLBase .cab 文件的文件夹,然后选择“确定”。
解释 AGDiag 报表
默认系统浏览器将打开 AGDiag 报表。 下图可帮助你解释报表:
以下 AGDiag 初始屏幕介绍了 AGDiag 功能和版本信息。
AGDiag 报告它在初始化阶段分析的日志。 若要查看更多详细信息,请选择三角形(下图中的红色框中突出显示)。
摘要报告列出了群集日志中的可用性组运行状况事件。 若要跳转到特定健康事件的详细报告,请选择数字链接(如下图红色框中突出显示)。
每个检测到的健康事件都有详细的报告。 此报告包括与健康事件、诊断和建议相关的日志记录结果。 若要查看更多详细信息,请选择三角形(下图中的红色框中突出显示)。
AGDiag 中的已知问题
有关记录问题和可能解决方案的最新信息,请参阅 AGDiag 的已知问题。