共用方式為


Test-SqlAvailabilityReplica

評估可用性復本的健康情況。

語法

ByPath (預設值)

Test-SqlAvailabilityReplica
    [[-Path] <String[]>]
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Test-SqlAvailabilityReplica
    [-InputObject] <AvailabilityReplica[]>
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Test-SqlAvailabilityReplica 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:\> Test-SqlAvailabilityReplica -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\AvailabilityReplicas\MainReplica"

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

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

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

此命令會評估名為 MainAg 的可用性群組中所有可用性複本的健康情況,並輸出每個復本的簡短摘要。

範例 3:評估每個 PBM 原則的可用性復本健康情況

PS C:\> Test-SqlAvailabilityReplica -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\AvailabilityReplicas\MainReplica" -ShowPolicyDetails

此命令會評估可用性群組中MainReplica名為 MainAg 的可用性復本健康情況,並輸出已執行之每個 PBM 原則的評估結果。

範例 4:評估可用性復本的健康情況,並包含使用者定義的原則

PS C:\> Test-SqlAvailabilityReplica -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\AvailabilityReplicas\MainReplica" -AllowUserPolicies

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

範例 5:顯示處於錯誤狀態的所有可用性複本

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

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

參數

-AccessToken

用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。

例如,這可以用來連接到 SQL Azure DB 或使用 SQL Azure Managed InstanceService PrincipalManaged Identity (請參閱此頁面底部的參考)

在常見案例中,此參數會以類似的內容 (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token 取得(需要 Az.Accounts 模組)

參數的類型可以是 string (純文本令牌) 或 SecureString (加密的令牌,如較新版本的 Get-AzAccessToken Cmdlet 所傳回。

參數屬性

類型:PSObject
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-AllowUserPolicies

指出此 Cmdlet 會執行 Always On 原則類別中找到的用戶原則。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:cf

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Encrypt

線上到 SQL Server 時要使用的加密類型。

此值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption

在模組的 v22 中,預設值為 Optional (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 「強制」,這可能會為現有的腳本建立重大變更。

此參數是模組 v22 的新功能。

參數屬性

類型:String
預設值:None
接受的值:Mandatory, Optional, Strict
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-HostNameInCertificate

用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整功能變數名稱 (FQDN) 傳遞至 -ServerInstance 才能連線到啟用強制加密的 SQL Server 實例。

此參數是模組 v22 的新功能。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-InputObject

指定要評估的可用性復本陣列。

參數屬性

類型:

AvailabilityReplica[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

ByObject
Position:1
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-NoRefresh

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

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Path

指定一或多個可用性復本的路徑。 這是選擇性參數。 如果未指定,則會使用目前的工作位置。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

ByPath
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ShowPolicyDetails

表示會顯示此 Cmdlet 所執行之每個原則評估的結果。 Cmdlet 會為每個原則評估輸出一個物件。 此物件包含描述評估結果的欄位。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-TrustServerCertificate

指出通道是否會在略過憑證鏈結以驗證信任時加密。

在模組的 v22 中,預設值為 $true (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。

此參數是模組 v22 的新功能。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:無線

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

Microsoft.SqlServer.Management.Smo.AvailabilityReplica