AlwaysOn ポリシーを使用した可用性グループの正常性の確認 (SQL Server)Use Always On Policies to View the Health of an Availability Group (SQL Server)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 SQL Server Management StudioSQL Server Management Studio の AlwaysOn ポリシーまたは SQL Server 2017SQL Server 2017の PowerShell を使用して、AlwaysOn 可用性グループの運用状態の正常性を確認する方法について説明します。This topic describes how to determine the operational health of an Always On availability group by using an Always On policy in SQL Server Management StudioSQL Server Management Studio or PowerShell in SQL Server 2017SQL Server 2017. AlwaysOn ポリシー ベースの管理の詳細については、「 AlwaysOn 可用性グループでの運用上の問題のポリシー ベースの管理 (SQL Server)の PowerShell を使用して、AlwaysOn 可用性グループの運用状態の正常性を確認する方法について説明します。For information about Always On Policy Based Management, see Always On Policies for Operational Issues with Always On Availability Groups (SQL Server).

重要

AlwaysOn ポリシーでは、カテゴリの名前が ID として使用されます。For Always On policies, the category names are used as IDs. AlwaysOn カテゴリの名前を変更すると、正常性評価の機能を使用できなくなります。Changing the name of an Always On category would break its health-evaluation functionality. このため、AlwaysOn カテゴリの名前は変更しないでください。Therefore, the names of Always On category should never be modified.

PermissionsPermissions

CONNECT、VIEW SERVER STATE、および VIEW ANY DEFINITION 権限が必要です。Requires CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions.

AlwaysOn ダッシュボードの使用Using the Always On Dashboard

AlwaysOn ダッシュボードを開くにはTo open the Always On Dashboard

  1. オブジェクト エクスプローラーで、可用性レプリカの 1 つをホストするサーバー インスタンスに接続します。In Object Explorer, connect to the server instance that hosts one of the availability replicas. 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

  2. サーバー名をクリックし、サーバー ツリーを展開します。Click the server name to expand the server tree.

  3. [AlwaysOn 高可用性] ノードを展開します。Expand the Always On High Availability node.

    [可用性グループ] ノードを右クリックするか、このノードを展開し、特定の可用性グループを右クリックします。Either right-click the Availability Groups node or expand this node and right-click a specific availability group.

  4. [ダッシュボードの表示] をクリックします。Select the Show Dashboard command.

AlwaysOn ダッシュボードの使用方法の詳細については、「AlwaysOn ダッシュボードの使用 (SQL Server Management Studio)」を参照してください。For information about how to use the Always On Dashboard, see Use the Always On Dashboard (SQL Server Management Studio).

PowerShell の使用Using PowerShell

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

  1. 可用性レプリカの 1 つをホストするサーバー インスタンスを既定の操作対象に設定 (cd) します。Set default (cd) to a server instance that hosts one of the availability replicas. 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

  2. 次のコマンドレットを使用します。Use the following cmdlets:

    Test-SqlAvailabilityGroupTest-SqlAvailabilityGroup
    SQL Server のポリシー ベースの管理 (PBM) のポリシーを評価することによって、可用性グループの正常性を査定します。Assesses the health of an availability group by evaluating SQL Server policy based management (PBM) policies. このコマンドレットを実行するには、CONNECT、VIEW SERVER STATE、および VIEW ANY DEFINITION 権限が必要です。You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    たとえば、次のコマンドでは、サーバー インスタンス Computer\Instance上で正常性状態が "Error" の可用性グループすべてを表示します。For example, the following command shows all availability groups with a health state of "Error" on the server instance Computer\Instance.

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

    Test-SqlAvailabilityReplicaTest-SqlAvailabilityReplica
    SQL Server のポリシー ベースの管理 (PBM) のポリシーを評価することによって、可用性レプリカの正常性を査定します。Assesses the health of availability replicas by evaluating SQL Server policy based management (PBM) policies. このコマンドレットを実行するには、CONNECT、VIEW SERVER STATE、および VIEW ANY DEFINITION 権限が必要です。You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    たとえば、次のコマンドは、可用性グループ MyReplica 内の MyAg という名前の可用性レプリカの正常性を評価し、概要を出力します。For example, the following command evaluates the health of the availability replica named MyReplica in the availability group MyAg and outputs a brief summary.

    Test-SqlAvailabilityReplica `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    

    Test-SqlDatabaseReplicaStateTest-SqlDatabaseReplicaState
    SQL Server のポリシー ベースの管理 (PBM) のポリシーを評価することによって、参加しているすべての可用性レプリカ上の可用性データベースの正常性を査定します。Assesses the health of an availability database on all joined availability replicas by evaluating SQL Server policy based management (PBM) policies.

    たとえば、次のコマンドは、可用性グループ MyAg 内のすべての可用性データベースの正常性を評価し、各データベースの概要を出力します。For example, the following command evaluates the health of all availability databases in the availability group MyAg and outputs a brief summary for each database.

    Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\DatabaseReplicaStates `   
     | Test-SqlDatabaseReplicaState  
    

    これらのコマンドレットでは、次のオプションを使用できます。These cmdlets accept the following options:

    オプションOption [説明]Description
    AllowUserPoliciesAllowUserPolicies AlwaysOn ポリシーのカテゴリにあるユーザー ポリシーを実行します。Runs user policies found in the Always On policy categories.
    InputObjectInputObject 可用性グループ、可用性レプリカ、または可用性データベースの状態 (使用するコマンドレットに応じて異なります) を表すオブジェクトのコレクションです。A collection of objects that, represent availability groups, availability replicas, or availability database states (depending on which cmdlet you are using). コマンドレットを実行すると、指定されたオブジェクトの正常性が計算されます。The cmdlet will compute the health of the specified objects.
    NoRefreshNoRefresh このパラメーターを設定した場合、コマンドレットを実行すると、 -Path パラメーターまたは -InputObject パラメーターで指定されたオブジェクトが手動で最新の情報に更新されません。When this parameter is set, the cmdlet will not manually refresh the objects specified by the -Path or -InputObject parameter.
    [パス]Path 可用性グループ、1 つ以上の可用性レプリカ、または可用性データベースのデータベース レプリカ クラスターの状態へのパス (使用するコマンドレットに応じて異なります) です。The path to the availability group, one or more availability replicas, or database replica cluster state of the availability database (depending on which cmdlet you are using). これは省略可能なパラメーターです。This is an optional parameter. このパラメーターの値を指定しない場合、既定では、現在の場所に設定されます。If not specified, the value of this parameter defaults to the current working location.
    ShowPolicyDetailsShowPolicyDetails このコマンドレットで実行された各ポリシー評価の結果を表示します。Shows the result of each policy evaluation performed by this cmdlet. コマンドレットを実行すると、ポリシー評価ごとに 1 つのオブジェクトが出力されます。このオブジェクトには評価の結果を表すフィールド (ポリシーが渡されるかどうかに関係なく、ポリシー名、カテゴリなど) があります。The cmdlet outputs one object per policy evaluation, and this object has fields describing the results of evaluation (whether the policy passed or not, the policy name and category, and so forth).

    たとえば、次の Test-SqlAvailabilityGroup コマンドは、 -ShowPolicyDetails パラメーターを指定して、可用性グループ MyAg上で実行されたポリシー ベースの管理 (PBM) のポリシーごとに、このコマンドレットによって実行されたそれぞれのポリシー評価の結果を表示します。For example, the following Test-SqlAvailabilityGroup command specifies the -ShowPolicyDetails parameter to show the result of each policy evaluation performed by this cmdlet for each policy-based management (PBM) policy that was executed on the availability group named MyAg.

    Test-SqlAvailabilityGroup `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\AgName `  
    -ShowPolicyDetails  
    
    

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

関連コンテンツRelated Content

SQL Server Alway On チームのブログ: PowerShell を使用した AlwaysOn 正常性状態の監視:SQL Server Always On Team Blogs-Monitoring Always On Health with PowerShell:

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
可用性グループの管理 (SQL Server) Administration of an Availability Group (SQL Server)
可用性グループの監視 (SQL Server) Monitoring of Availability Groups (SQL Server)
AlwaysOn 可用性グループでの運用上の問題のポリシー ベースの管理 (SQL Server)Always On Policies for Operational Issues with Always On Availability Groups (SQL Server)