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 つをホストするサーバー インスタンスに接続します。 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。
サーバー名をクリックし、サーバー ツリーを展開します。
[AlwaysOn 高可用性] ノードを展開します。
[可用性グループ] ノードを右クリックするか、このノードを展開し、特定の可用性グループを右クリックします。
[ダッシュボードの表示] をクリックします。
AlwaysOn ダッシュボードの使用方法の詳細については、「AlwaysOn ダッシュボードの使用 (SQL Server Management Studio)」を参照してください。
[先頭に戻る]
PowerShell の使用
AlwaysOn ポリシーを使用して可用性グループの正常性を確認する
可用性レプリカの 1 つをホストするサーバー インスタンスを既定の操作対象に設定 (cd) します。 可用性グループ内のすべての可用性レプリカについての情報を表示するには、プライマリ レプリカをホストするサーバー インスタンスを使用してください。
次のコマンドレットを使用します。
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 正常性状態の監視:
[先頭に戻る]