Test-SqlDatabaseReplicaState

評估可用性資料庫的健康情況。

Syntax

Test-SqlDatabaseReplicaState
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [[-Path] <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Test-SqlDatabaseReplicaState
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-InputObject] <DatabaseReplicaState[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Test-SqlDatabaseReplicaState Cmdlet 會評估所有聯結可用性複本上可用性資料庫的健康情況,方法是評估SQL Server原則式管理 (PBM) 原則。 您必須具有 CONNECTVIEW SERVER STATEVIEW ANY DEFINITION 許可權,才能執行此 Cmdlet。

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

範例

範例 1:評估可用性資料庫的健康情況

PS C:\> $Path = "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates\MainReplica.MainDatabase"
PS C:\> Test-SqlDatabaseReplicaState -Path $Path

此命令會評估可用性群組 MainAg 中可用性複 MainReplica 本上名為 MainDatabase 的可用性資料庫健康情況,並輸出簡短摘要。

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

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState

此命令會評估可用性群組中 MainAg 所有可用性資料庫的健康情況,並輸出每個資料庫的簡短摘要。

範例 3:評估可用性群組中所有可用性資料庫的健康情況,其中顯示 PBM 評估結果

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -ShowPolicyDetails

此命令會評估可用性群組中 MainAg 所有可用性資料庫的健康情況,並輸出每個已執行之 PBM 原則的評估結果。

範例 4:評估可用性群組中所有可用性資料庫的健康情況,並包含使用者定義的原則

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -AllowUserPolicies

此命令會評估可用性群組中 MainAg 所有可用性資料庫的健康情況。 這項評估會包含使用者定義的原則。

範例 5:顯示處於錯誤健康狀態的所有可用性資料庫

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState | Where-Object { $_.HealthState -eq "Error" }

此命令會顯示可用性群組中 MainAg 健康狀態 Error 為 的所有可用性資料庫。

參數

-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

指定可用性資料庫狀態物件的陣列。 此 Cmdlet 會計算這些可用性資料庫的健全狀況。

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

-NoRefresh

表示這個 Cmdlet 不會手動重新整理 PathInputObject 參數所指定的物件。

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

-Path

指定可用性資料庫的一或多個資料庫複本叢集狀態的路徑。 這是選擇性參數。 如果未指定,則會使用目前工作位置的值。

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.DatabaseReplicaState[]