Test-SqlAvailabilityGroup

Evaluates the health of an availability group.

语法

ByPath (默认值)

Test-SqlAvailabilityGroup
    [[-Path] <String[]>]
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Test-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup[]>
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

The Test-SqlAvailabilityGroup cmdlet evaluates the health of an availability group. This cmdlet evaluates SQL Server policy-based management policies. To run this cmdlet, you must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION user rights.

示例

Example 1: Evaluate the health of an availability group

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG"

This command evaluates the health of the availability group named MainAG. The command returns a summary.

Example 2: Evaluate the health of all availability group

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups" | Test-SqlAvailabilityGroup

This command gets all availability groups that have availability replicas in the specified location in the SQLSERVER: provider. The command passes them to the current cmdlet by using the pipeline operator. That cmdlet evaluates the health of each availability group.

Example 3: Display results for each policy of an availability group

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG" -ShowPolicyDetails

This command evaluates the health of the availability group named MainAG. This command specifies the ShowPolicyDetails parameter. Therefore, it displays the evaluation results for each policy-based management policy that ran.

Example 4: Display results for user-defined policies of an availability group

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG" -AllowUserPolicies

This command evaluates the health of the availability group named MainAG. The command includes user-defined policies in this evaluation.

Example 5: Get groups that have an error state

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups" | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }

This command gets all availability groups that have availability replicas in the specified location in the SQLSERVER: provider. The command passes them to the current cmdlet by using the pipeline operator. That cmdlet evaluates the health of each availability group. The command passes those results to the Where-Object cmdlet, which returns results based on the HealthState property.

参数

-AllowUserPolicies

Indicates that this cmdlet tests user policies found in the policy categories of AlwaysOn Availability Groups.

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

Prompts you for confirmation before running the cmdlet.

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

Specifies an array of availability group, as AvailabilityGroup objects. This cmdlet evaluates the health of the availability groups that this parameter specifies.

参数属性

类型:

AvailabilityGroup[]

默认值:None
支持通配符:False
不显示:False

参数集

ByObject
Position:2
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-NoRefresh

Indicates that will not refresh the objects specified by the Path or InputObject parameter.

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

Specifies the path of the availability group that this cmdlet evaluates. If you do not specify this parameter, this cmdlet uses current working location.

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

ByPath
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ShowPolicyDetails

Indicates that this cmdlet displays the result of each policy evaluation that it performs. The cmdlet returns one object per policy evaluation. Each policy object includes the results of evaluation. This information includes whether the policy passed or not, the policy name, and policy category.

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:wi

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

输入

Microsoft.SqlServer.Management.Smo.AvailabilityGroup