使用 AlwaysOn 原則檢視可用性群組的健全狀況 (SQL Server)

適用於: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 儀表板

  1. 在 [物件總管] 中,連接到裝載其中一個可用性複本的伺服器執行個體。 若要檢視可用性群組中所有可用性複本的相關資訊,請用於裝載主要複本的伺服器執行個體。

  2. 按一下伺服器名稱展開伺服器樹狀目錄。

  3. 展開 [AlwaysOn 高可用性] 節點。

    以滑鼠右鍵按一下 [可用性群組] 節點,或展開此節點,然後以滑鼠右鍵按一下特定的可用性群組。

  4. 選取 [顯示儀表板] 命令。

如需如何使用 Always On 儀表板的相關資訊,請參閱使用 Always On 儀表板 (SQL Server Management Studio)

使用 PowerShell

Use Always On policies to view the health of an availability group

  1. 將目錄切換到 (cd) 裝載其中一個可用性複本的伺服器執行個體。 若要檢視可用性群組中所有可用性複本的相關資訊,請用於裝載主要複本的伺服器執行個體。

  2. 使用下列 Cmdlet:

    Test-SqlAvailabilityGroup
    透過評估 SQL Server 原則式管理 (PBM) 原則,評估可用性群組的健全狀況。 您必須擁有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 權限,才能執行這個 Cmdlet。

    例如,下列命令會顯示伺服器執行個體 Computer\Instance上健全狀態為 "Error" 的所有可用性群組。

    Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups `   
    | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }  
    

    Test-SqlAvailabilityReplica
    透過評估 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  
    

    這些指令程式接受下列選項:

    選項 Description
    AllowUserPolicies 執行 AlwaysOn 原則類別目錄中的使用者原則。
    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)