適用於:SQL Server
本主題說明如何使用 SQL Server Management Studio 中的 AlwaysOn 原則或 SQL Server PowerShell,判斷 Always On 可用性群組的作業健康狀態。 如需有關 Always On 政策式管理的資訊,請參閱 適用於 Always On 可用性群組作業問題的 Always On 政策 (SQL Server)。
重要
對於 AlwaysOn 原則而言,類別目錄名稱會當作識別碼使用。 變更 AlwaysOn 類別目錄的名稱會破壞其健全狀況評估功能。 因此,永遠不應修改 AlwaysOn 類別目錄的名稱。
權限
需要 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 權限。
使用 AlwaysOn 儀表板
開啟 AlwaysOn 儀表板
在 [物件總管] 裡,連接至裝載其中一個可用性複本的伺服器執行個體。 若要檢視可用性群組中所有可用性複本的相關資訊,請連接至裝載主要複本的伺服器執行個體。
按一下伺服器名稱展開伺服器樹狀目錄。
展開 [AlwaysOn 高可用性] 節點。
以滑鼠右鍵按一下 [可用性群組] 節點,或展開此節點,然後以滑鼠右鍵按一下特定的可用性群組。
選取 [顯示儀表板] 命令。
如需如何使用 Always On 儀表板的相關資訊,請參閱使用 Always On 儀表板 (SQL Server Management Studio)。
使用 PowerShell
使用 Always On 原則來檢視可用性組的健康狀況
設定 (cd) 為託管其中一個可用性複本的伺服器執行個體的預設值。 若要檢視可用性群組中所有可用性複本的相關資訊,請連線到裝載主要複本的伺服器執行個體。
使用下列 Cmdlet:
Test-SqlAvailabilityGroup (測試-SQL可用性群組)
透過評估 SQL Server 原則式管理 (PBM) 原則,評估可用性群組的健全狀況。 您必須擁有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 權限,才能執行這個 Cmdlet。例如,下列命令會顯示在伺服器實例
Computer\Instance
上所有健康狀態為「錯誤」的可用性群組。Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups ` | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }
Test-SqlAvailabilityReplica(測試 SQL 可用性複本)
透過評估 SQL Server 原則式管理 (PBM) 原則,評估可用性複本的健全狀況。 您必須擁有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 權限,才能執行這個 Cmdlet。例如,下列命令會評估可用性群組
MyReplica
中名為MyAg
之可用性複本的健全狀況並且輸出簡短摘要。Test-SqlAvailabilityReplica ` -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
Test-SqlDatabaseReplicaState
透過評估 SQL Server 原則式管理 (PBM) 原則,評估所有聯結可用性複本之可用性資料庫的健全狀況。例如,下列命令會評估可用性群組
MyAg
中所有可用性資料庫的健全狀況並且輸出每個資料庫的簡短摘要。Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\DatabaseReplicaStates ` | Test-SqlDatabaseReplicaState
這些指令程式接受下列選項:
選項 描述 AllowUserPolicies 執行“永遠開啟”政策類別中的使用者政策。 InputObject 表示可用性群組、可用性複本或可用性資料庫狀態的物件集合 (依據使用的指令程式而定)。 指令程式會計算指定之物件的健全狀況。 NoRefresh 設定此參數時,Cmdlet 不會手動重新整理 -Path 或 -InputObject 參數所指定的物件。 路徑 可用性群組、一個或多個可用性複本,或可用性資料庫之資料庫複本叢集狀態的路徑 (依據使用的指令程式而定)。 這是選擇性參數。 如果未指定,此參數的值預設為目前的工作位置。 ShowPolicyDetails 顯示此 Cmdlet 執行之各項原則評估的結果。 Cmdlet 針對每項政策評估輸出一個物件,這個物件的欄位會描述評估結果(政策是否通過、政策名稱和類別等等)。 例如,下列 Test-SqlAvailabilityGroup 命令會指定 -ShowPolicyDetails 參數,針對在可用性群組
MyAg
上執行的每個原則式管理 (PBM) 原則,顯示此 Cmdlet 執行的每個原則評估結果。Test-SqlAvailabilityGroup ` -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\AgName ` -ShowPolicyDetails
注意
若要檢視 Cmdlet 的語法,請在 SQL Server PowerShell 環境中使用 Get-Help Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell。
若要設定和使用 SQL Server PowerShell 提供者
相關內容
SQL Server AlwaysOn 團隊部落格 - 使用 PowerShell 監視 AlwaysOn 健全狀況:
另請參閱
AlwaysOn 可用性群組概觀 (SQL Server)
可用性群組的管理 (SQL Server)
監視可用性群組 (SQL Server)
AlwaysOn 可用性群組操作問題適用的 AlwaysOn 原則 (SQL Server)