Test-SqlAvailabilityGroup

評估可用性群組的健康情況。

Syntax

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

Description

Test-SqlAvailabilityGroup Cmdlet 會評估可用性群組的健康情況。 此 Cmdlet 會評估SQL Server原則式管理原則。 若要執行此 Cmdlet,您必須具有 CONNECTVIEW SERVER STATEVIEW ANY DEFINITION 使用者權限。

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

範例

範例 1:評估可用性群組的健康情況

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

此命令會評估名為 MainAG 的可用性群組健康情況。 命令會傳回摘要。

範例 2:評估所有可用性群組的健康情況

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

此命令會取得 SQLSERVER: 提供者中指定位置中具有可用性複本的所有可用性群組。 命令會使用管線運算子將它們傳遞至目前的 Cmdlet。 該 Cmdlet 會評估每個可用性群組的健康情況。

範例 3:顯示可用性群組每個原則的結果

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

此命令會評估名為 MainAG 的可用性群組健康情況。 此命令會指定 ShowPolicyDetails 參數。 因此,它會針對執行的每個原則式管理原則顯示評估結果。

範例 4:顯示可用性群組使用者定義原則的結果

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

此命令會評估名為 MainAG 的可用性群組健康情況。 此命令在此評估中包含使用者定義的原則。

範例 5:取得具有錯誤狀態的群組

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

此命令會取得 SQLSERVER: 提供者中指定位置中具有可用性複本的所有可用性群組。 命令會使用管線運算子將它們傳遞至目前的 Cmdlet。 該 Cmdlet 會評估每個可用性群組的健康情況。 此命令會將這些結果傳遞至 Where-Object Cmdlet,這會根據 HealthState 屬性傳回結果。

參數

-AllowUserPolicies

指出此 Cmdlet 會測試在Always On可用性群組的原則類別中找到的使用者原則。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

在執行 Cmdlet 前提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

將可用性群組的陣列指定為 AvailabilityGroup 物件。 這個 Cmdlet 會評估此參數所指定可用性群組的健康情況。

Type:AvailabilityGroup[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoRefresh

表示不會重新整理 PathInputObject 參數所指定的物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定這個 Cmdlet 評估的可用性群組路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ShowPolicyDetails

指出此 Cmdlet 會顯示其執行之每個原則評估的結果。 Cmdlet 會針對每個原則評估傳回一個物件。 每個原則物件都包含評估的結果。 此資訊包括是否已傳遞原則、原則名稱和原則類別目錄。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]