Share via


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

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

重要な注意事項重要

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

  • 作業を開始する準備: セキュリティ

  • AlwaysOn ポリシーを使用して可用性グループの正常性を確認する場合に使用するツール:

    AlwaysOn ダッシュボード

    PowerShell

作業を開始する準備

セキュリティ

権限

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 権限が必要です。

      たとえば、次のコマンドは、可用性グループ MyAg 内の MyReplica という名前の可用性レプリカの正常性を評価し、概要を出力します。

      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
    
    注意

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

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連コンテンツ

SQL Server AlwaysOn チームのブログ: PowerShell を使用した AlwaysOn 正常性状態の監視:

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

概念

AlwaysOn 可用性グループの概要 (SQL Server)

可用性グループの管理 (SQL Server)

可用性グループの監視 (SQL Server)

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