本主题介绍如何在 SQL Server Management Studio 中使用 AlwaysOn 策略或 SQL Server 2014 中的 PowerShell 来确定 AlwaysOn 可用性组的作运行状况。 有关 AlwaysOn 策略管理的信息,请参阅 用于处理 AlwaysOn 可用性组(SQL Server)运行问题的 AlwaysOn 策略。
重要
对于 AlwaysOn 策略,类别名称用作 ID。 更改 AlwaysOn 类别的名称将中断其运行状况评估功能。 因此,不应修改 AlwaysOn 类别的名称。
在您开始之前
安全
权限
需要 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限。
使用 AlwaysOn 仪表盘
打开 AlwaysOn 仪表板
在对象资源管理器中,连接到承载可用性副本之一的服务器实例。 若要查看有关可用性组中所有可用性副本的信息,请使用承载主副本的服务器实例。
单击服务器名称以展开服务器树。
展开 AlwaysOn 高可用性 节点。
右键单击“可用性组”节点或展开此节点,然后右键单击特定的可用性组。
选择 “显示面板” 命令。
有关如何使用 AlwaysOn 仪表板的信息,请参阅“使用 AlwaysOn 仪表板”(SQL Server Management Studio)。
使用 PowerShell
使用 AlwaysOn 策略查看可用性组的运行状况
将默认值 (
cd) 设置为承载其中一个可用性副本的服务器实例。 若要查看有关可用性组中所有可用性副本的信息,请使用承载主副本的服务器实例。使用以下 cmdlet:
Test-SqlAvailabilityGroup
通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估可用性组的运行状况。 您必须具有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限才能执行此 cmdlet。例如,以下命令显示服务器实例
Computer\Instance上运行状况状态为“Error”的所有可用性组。Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }Test-SqlAvailabilityReplica
通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估可用性副本的运行状况。 您必须具有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限才能执行此 cmdlet。例如,以下命令评估可用性组
MyReplica中名为MyAg的可用性副本的运行状况并输出简短摘要。Test-SqlAvailabilityReplica -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplicaTest-SqlDatabaseReplicaState
通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估所有联接的可用性副本的可用性数据库的运行状况。例如,以下命令评估可用性组
MyAg中所有可用性数据库的运行状况并输出各数据库的简短摘要。Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\DatabaseReplicaStates | Test-SqlDatabaseReplicaState这些 cmdlet 接受以下选项:
选项 DESCRIPTION AllowUserPolicies运行在 AlwaysOn 策略类别中找到的用户策略。 InputObject对象的集合,表示可用性组、可用性副本或可用性数据库状态(取决于正在使用的 cmdlet)。 此 cmdlet 将计算指定对象的运行状况。 NoRefresh设置此参数后,cmdlet 不会手动刷新 -Path或-InputObject参数指定的对象。Path指向可用性组、一个或多个可用性副本或可用性数据库的数据库副本群集状态的路径(具体取决于正在使用的 cmdlet)。 这是一个可选参数。 如果未指定,此参数的值默认为当前的工作位置。 ShowPolicyDetails显示由 cmdlet 执行的每个策略评估的结果。 对于每个策略评估,cmdlet 都输出一个对象,该对象具有用于描述评估结果的字段(是否传递了策略、策略名称和类别等等)。 例如,
Test-SqlAvailabilityGroup以下命令指定-ShowPolicyDetails参数以显示此 cmdlet 针对在命名MyAg的可用性组上执行的每个基于策略的管理 (PBM) 策略执行的每个策略评估的结果。Test-SqlAvailabilityGroup -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\AgName -ShowPolicyDetails注释
若要查看 cmdlet 的语法,请使用
Get-HelpSQL Server PowerShell 环境中的 cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell。
设置和使用 SQL Server PowerShell 提供程序
相关内容
SQL Server AlwaysOn 团队 Blogs-Monitoring 使用 PowerShell 进行 AlwaysOn 健康管理:
另请参阅
AlwaysOn 可用性组概述 (SQL Server)
管理可用性组 (SQL Server)
监视可用性组 (SQL Server)
针对 AlwaysOn 可用性组运营问题的 AlwaysOn 策略 (SQL Server)