Test-SqlAvailabilityGroup
評估可用性群組的健康情況。
語法
ByPath (預設值)
Test-SqlAvailabilityGroup
[[-Path] <String[]>]
[-ShowPolicyDetails]
[-AllowUserPolicies]
[-NoRefresh]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Test-SqlAvailabilityGroup
[-InputObject] <AvailabilityGroup[]>
[-ShowPolicyDetails]
[-AllowUserPolicies]
[-NoRefresh]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Test-SqlAvailabilityGroup Cmdlet 會評估可用性群組的健康情況。
此 Cmdlet 會評估 SQL Server 原則式管理原則。
若要執行此 Cmdlet,您必須具有 CONNECT、 VIEW SERVER STATE和 VIEW 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,此 Cmdlet 會根據 HealthState 屬性傳回結果。
參數
-AccessToken
用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可以用來連接到 SQL Azure DB 或使用 SQL Azure Managed InstanceService Principal 或 Managed 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 會測試 AlwaysOn 可用性群組的原則類別中找到的用戶原則。
參數屬性
| 類型: | 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
將可用性群組的陣列指定為 AvailabilityGroup 物件。 此 Cmdlet 會評估此參數所指定之可用性群組的健康情況。
參數屬性
| 類型: | AvailabilityGroup[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByObject
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-NoRefresh
表示不會重新整理 Path 或 InputObject 參數所指定的物件。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定此 Cmdlet 評估的可用性群組路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
參數屬性
| 類型: | 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。