AlwaysOn ポリシーを使用した可用性グループの正常性の確認 (SQL Server)

このトピックでは、SQL Server 2014 の SQL Server Management Studio または PowerShell の AlwaysOn ポリシーを使用して、AlwaysOn 可用性グループの運用状態を確認する方法について説明します。 AlwaysOn ポリシー ベースの管理の詳細については、「AlwaysOn 可用性グループに関する運用上の問題の AlwaysOn ポリシー (SQL Server)」を参照してください。

重要

AlwaysOn ポリシーでは、カテゴリの名前が ID として使用されます。 AlwaysOn カテゴリの名前を変更すると、正常性評価の機能を使用できなくなります。 このため、AlwaysOn カテゴリの名前は変更しないでください。

はじめに

セキュリティ

アクセス許可

CONNECT、VIEW SERVER STATE、および VIEW ANY DEFINITION 権限が必要です。

AlwaysOn ダッシュボードの使用

AlwaysOn ダッシュボードを開くには

  1. オブジェクト エクスプローラーで、可用性レプリカの 1 つをホストするサーバー インスタンスに接続します。 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。

  2. サーバー名をクリックし、サーバー ツリーを展開します。

  3. [AlwaysOn 高可用性] ノードを展開します。

    [可用性グループ] ノードを右クリックするか、このノードを展開し、特定の可用性グループを右クリックします。

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

AlwaysOn ダッシュボードの使用方法については、「AlwaysOn ダッシュボードを使用する (SQL Server Management Studio)」を参照してください。

PowerShell の使用

AlwaysOn ポリシーを使用して可用性グループの正常性を表示する

  1. 可用性レプリカの 1 つをホストするサーバー インスタンスを既定の操作対象に設定 (cd) します。 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。

  2. 次のコマンドレットを使用します。

    Test-SqlAvailabilityGroup
    SQL Server のポリシー ベースの管理 (PBM) のポリシーを評価することによって、可用性グループの正常性を査定します。 このコマンドレットを実行するには、CONNECT、VIEW SERVER STATE、および VIEW ANY DEFINITION 権限が必要です。

    たとえば、次のコマンドでは、サーバー インスタンス 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 権限が必要です。

    たとえば、次のコマンドは、可用性グループ 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 AlwaysOn ポリシーのカテゴリにあるユーザー ポリシーを実行します。
    InputObject 可用性グループ、可用性レプリカ、または可用性データベースの状態 (使用するコマンドレットに応じて異なります) を表すオブジェクトのコレクションです。 コマンドレットを実行すると、指定されたオブジェクトの正常性が計算されます。
    NoRefresh このパラメーターを設定すると、コマンドレットの実行時に、-Path または -InputObject パラメーターで指定されたオブジェクトが手動で最新の情報に更新されません。
    Path 可用性グループ、1 つ以上の可用性レプリカ、または可用性データベースのデータベース レプリカ クラスターの状態へのパス (使用するコマンドレットに応じて異なります) です。 これは省略可能なパラメーターです。 このパラメーターの値を指定しない場合、既定では、現在の場所に設定されます。
    ShowPolicyDetails このコマンドレットで実行された各ポリシー評価の結果を表示します。 コマンドレットを実行すると、ポリシー評価ごとに 1 つのオブジェクトが出力されます。このオブジェクトには評価の結果を表すフィールド (ポリシーが渡されるかどうかに関係なく、ポリシー名、カテゴリなど) があります。

    たとえば、次の Test-SqlAvailabilityGroup コマンドは、-ShowPolicyDetails パラメーターを指定して、可用性グループ MyAg 上で実行されたポリシー ベースの管理 (PBM) のポリシーごとに、このコマンドレットによって実行されたそれぞれのポリシー評価の結果を表示します。

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

    Note

    コマンドレットの構文を表示するには、SQL Server PowerShell 環境で コマンドレットを使用Get-Helpします。 詳細については、「 Get Help SQL Server PowerShell」を参照してください。

SQL Server PowerShell プロバイダーを設定して使用するには

関連コンテンツ

PowerShell を使用して AlwaysOn チーム Blogs-Monitoring AlwaysOn Health をSQL Serverします。

参照

AlwaysOn 可用性グループの概要 (SQL Server)
可用性グループの管理 (SQL Server)
可用性グループの監視 (SQL Server)
AlwaysOn 可用性グループでの運用上の問題のポリシー ベースの管理 (SQL Server)