使用 AlwaysOn 策略查看可用性组的运行状况 (SQL Server)
本主题说明在 SQL Server 2012 中如何使用 SQL Server Management Studio 或 PowerShell 通过 AlwaysOn 策略确定 AlwaysOn 可用性组的运行状况。 有关 AlwaysOn 基于策略的管理的信息,请参阅针对 AlwaysOn 可用性组运行问题的 AlwaysOn 策略 (SQL Server)。
重要提示 |
---|
对于 AlwaysOn 策略,类别名称用作 ID。 更改 AlwaysOn 类别的名称将会破坏其运行状况评价功能。 因此,任何时候都不应修改 AlwaysOn 类别的名称。 |
开始之前: 安全性
使用 AlwaysOn 策略查看可用性组的运行状况,使用:
AlwaysOn 面板
PowerShell
开始之前
安全性
权限
需要 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。例如,以下命令评估可用性组 MyAg 中名为 MyReplica 的可用性副本的运行状况并输出简短摘要。
Test-SqlAvailabilityReplica ` -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
Test-SqlDatabaseReplicaState
通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估所有加入的可用性副本的可用性数据库的运行状况。例如,以下命令评估可用性组 MyAg 中所有可用性数据库的运行状况并输出各数据库的简短摘要。
Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\DatabaseReplicaStates ` | Test-SqlDatabaseReplicaState
这些 cmdlet 接受以下选项:
选项
说明
AllowUserPolicies
运行在 AlwaysOn 策略类别中找到的用户策略。
InputObject
对象的集合,表示可用性组、可用性副本或可用性数据库状态(取决于正在使用的 cmdlet)。 此 cmdlet 将计算指定对象的运行状况。
NoRefresh
如果设置了此参数,cmdlet 将不会手动刷新由 -Path 或 -InputObject 参数指定的对象。
Path
指向可用性组、一个或多个可用性副本或可用性数据库的数据库副本群集状态的路径(具体取决于正在使用的 cmdlet)。 这是一个可选参数。 如果未指定,此参数的值默认为当前的工作位置。
ShowPolicyDetails
显示由 cmdlet 执行的每个策略评估的结果。 对于每个策略评估,cmdlet 都输出一个对象,该对象具有用于描述评估结果的字段(是否传递了策略、策略名称和类别等等)。
例如,以下 Test-SqlAvailabilityGroup 命令指定 -ShowPolicyDetails 参数,以为在名为 MyAg 的可用性组上执行的每个基于策略的管理 (PBM) 策略显示此 cmdlet 执行的每个策略评估结果。
Test-SqlAvailabilityGroup ` -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\AgName ` -ShowPolicyDetails
注意 若要查看 cmdlet 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅 获取 SQL Server PowerShell 帮助。
设置和使用 SQL Server PowerShell 提供程序
[返回页首]
相关内容
SQL Server AlwaysOn 团队博客 — — 使用 PowerShell 监视 AlwaysOn 运行状况:
[返回页首]