AlwaysOn 可用性组故障排除和监视指南

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

本指南可帮助你开始在 AlwaysOn 可用性组中的常见的问题的一些故障排除和监视 AlwaysOn 可用性组。 它旨在提供原始内容,以及在别处已发布的有用信息登录页。

尽管本指南不能完全讨论可能会发生在 AlwaysOn 可用性组所覆盖的大图面区域的所有问题,但它可以指出你根本原因分析和解决的问题中正确的方向。 由于 AlwaysOn 可用性组集成的技术,因此,许多您遇到的问题都仅的其他问题的症状是数据库系统中。 由可用性组,如挂起可用性数据库内的设置所引发一些问题。 其他问题可以包括你可以隔离到的 SQL Server,SQL Server 设置,如其他方面的问题与可用性组、 副本或数据库的数据库文件部署和系统性能问题无关。 仍其他问题,并且存在 SQL Server 外部,如网络输入/输出、 TCP/IP、 Active Directory 和 Windows Server 故障转移群集 (WSFC)。 通常情况下,会导致问题,图面上可用性组中,副本或数据库要求你对多个技术进行故障排除之后才能确定根。

故障排除方案

下表包含指向常见故障排除方案,为 AlwaysOn 可用性组。 它们进行分类的方案类型,如配置、 客户端连接、 故障转移和性能。

应用场景 方案类型 Description
解决 AlwaysOn 可用性组配置 (SQL server) 配置 提供信息来帮助你解决遇到为 AlwaysOn 可用性组配置服务器实例的典型问题。 典型配置问题包括禁用 AlwaysOn 可用性组、 帐户配置不当、 数据库镜像终结点不存在,对终结点进行访问 (SQL Server 错误 1418)、 网络访问不存在,和联接数据库命令失败 (SQL Server 错误 35250)。
故障排除"验证 WSFC 仲裁投票配置"警告 配置 当通过使用 Microsoft SQL Server 2012 中新的可用性组向导创建 AlwaysOn 可用性组时,你收到一条警告消息,如下所示:"当前 WSFC 群集仲裁投票配置不建议为此可用性组。"
创建可用性组侦听器时解决问题 配置 尝试创建可用性组侦听器时,你会遇到错误。
解决失败的添加文件操作 (AlwaysOn 可用性组 ) 配置 添加文件操作引起的暂停,并且处于 NOT SYNCHRONIZING 状态的辅助数据库。
修复︰ 错误 41009 时尝试创建多个可用性组 配置 尝试创建多个可用性组时,你会遇到错误 41009。
无法连接到多子网环境中的可用性组侦听器 客户端连接 配置可用性组侦听器之后,你不能 ping 侦听器或从应用程序连接到它。
解决失败的自动故障转移 故障转移 自动故障转移未成功完成。
故障排除︰ 可用性组超过 RTO 性能 自动故障转移或计划的手动故障转移而不丢失数据之后, 的故障转移时间超过你的 RTO。 或者,你在估计时 (如自动故障转移伙伴) 的同步提交辅助副本的故障转移时间,您会发现它超出你的 RTO。
故障排除︰ 可用性组超过了 RPO 性能 在执行强制的手动故障转移后,数据丢失大于你 RPO。 或者,在计算数据丢失的异步提交辅助副本时,您会发现它超出你的 RPO。
解决问题︰ 在主副本上的更改才会反映在辅助副本 性能 客户端应用程序的主副本上更新成功完成,但查询辅助副本会显示不会反映更改。

用于故障排除的有用工具

当配置或运行 AlwaysOn 可用性组时,不同的工具可以帮助您诊断不同类型的问题。 下表提供了关于工具的有用信息的链接。

工具 Description
使用 AlwaysOn 面板 (SQL Server Management Studio) 报告用户友好界面中的可用性组的运行状况的一览式视图。
AlwaysOn 策略 使用 AlwaysOn 仪表板。
SQL Server 错误日志 (AlwaysOn 可用性组 ) 日志状态可用性组、 副本和数据库、 其他 AlwaysOn 组件和 AlwaysOn 错误的状态转换的事件。
群集。日志 (AlwaysOn 可用性组 ) 日志群集事件,包括状态转换的可用性组资源,以及事件和从 SQL Server 资源 DLL 的错误。
AlwaysOn 运行状况诊断日志 记录 SQL Server 运行状况诊断报告到 WSFC 群集 (SQL Server 资源 DLL) sp_server_diagnostics (Transact SQL ).
动态管理视图和系统目录视图 (AlwaysOn 可用性组 ) 如配置、 运行状况状态和性能指标在可用性组上的报表信息。
扩展事件的 AlwaysOn 为根本原因分析提供详细的诊断的可用性组和有用。
AlwaysOn 等待类型 有关性能调整提供特定于可用性组和有用的等待统计信息。
AlwaysOn 性能计数器 监视 AlwaysOn 可用性组活动,并反映在系统监视器,并且用于性能优化。 有关详细信息,请参阅SQL Server,可用性副本SQL Server,数据库副本
AlwaysOn 环形缓冲区 记录在内部诊断,SQL Server 系统的警报,并可用于调试与可用性组相关的问题。

监视 AlwaysOn 可用性组

问题要求故障转移时,是否自动或手动之前对可用性组进行故障排除的最佳时机。 这可以通过监视可用性组的性能度量值和当可用性副本执行您的服务级别协议 (SLA) 的边界之外时发送警报。 例如,如果同步的辅助副本存在导致增加的估计的故障转移时间的性能问题,您不想要等待,直到发生自动故障转移和故障转移时间超过你恢复时间目标你找出。

由于 AlwaysOn 可用性组是高可用性和灾难恢复解决方案,最重要的性能指标,以监视是估计的故障转移时,这会影响你的恢复时间目标 (RTO) 和潜在的数据丢失在发生灾难,这会影响你的恢复点目标 (RPO)。 你可以从 SQL Server 公开在任何给定时间,因此实际故障事件发生之前可以在你的系统的 HADR 功能问题的提醒您的数据收集这些度量值。 因此,务必熟悉的 AlwaysOn 可用性组数据同步过程,并相应地收集度量值。

此表下面指向可帮助你监视 AlwaysOn 可用性组解决方案的运行状况的主题。

主题 Description
AlwaysOn 可用性组的监视性能 描述用于 AlwaysOn 可用性组、 流控制门和有用的度量值的数据同步过程,监视可用性组; 时并显示如何收集 RTO 和 RPO 度量值。
监视可用性组 (SQL server) 工具的信息提供用于监视可用性组。
AlwaysOn 运行状况模型第 1 部分-运行状况模型体系结构 提供 AlwaysOn 运行状况模型的概述。
AlwaysOn 运行状况模型第 2 部分-扩展运行状况模型 演示如何自定义的 AlwaysOn 运行状况模型和自定义的 AlwaysOn 仪表板,以显示额外信息。
监视 AlwaysOn 运行状况和 PowerShell-第 1 部分︰ 基本 Cmdlet 概述 提供可用来监视可用性组的运行状况的 AlwaysOn PowerShell cmdlet 的基本概述。
监视 AlwaysOn 运行状况和 PowerShell-第 2 部分︰ 高级 Cmdlet 用法 提供有关 AlwaysOn PowerShell cmdlet 来监视可用性组的运行状况的高级用法信息。
监视 AlwaysOn 运行状况和 PowerShell-第 3 部分︰ 简单的监视应用程序 演示如何自动监视可用性组与应用程序。
监视 AlwaysOn 运行状况和 PowerShell-第 4 部分︰ 与 SQL Server 代理集成 提供有关如何集成与 SQL Server 代理的可用性组监视和配置通知至相应部门时出现问题的信息。

另请参阅

SQL Server AlwaysOn 团队博客
CSS SQL Server 工程师博客