連載
» 2020年06月23日 05時00分 公開

SQL Server動的管理ビューレファレンス(3):Always On 可用性グループの正常性情報を出力する

「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回はAlways On 可用性グループの正常性情報を出力する「sys.dm_hadr_availability_group_states」を解説します。

[椎名武史,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

SQL Server動的管理ビュー一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。Always On 可用性グループの正常性情報を出力する「sys.dm_hadr_availability_group_states」を解説します。対応バージョンはSQL Server 2012以降です。

概要

 可用性グループは高可用性を実現する機能です。しかし、正常に動作していなければせっかくの高可用性環境が無駄になってしまいます。可用性グループの正常性を確認するためには「sys.dm_hadr_availability_group_states」という動的管理ビューを使用します。

出力内容

列名 データ型 説明
group_id uniqueidentifier 可用性グループの一意識別子を示す
primary_replica varchar(128) 現在のプライマリレプリカをホストしているサーバインスタンスの名前を示す
 NULLの場合、プライマリレプリカではない、または、WSFC(Windows Server Failover Clustering)フェールオーバークラスターと通信できない状態を表す
primary_recovery_health tinyint プライマリレプリカの復旧の正常性状態を示す。次のいずれかになる
 0 実行中
 1 オンライン
 NULL セカンダリレプリカで、primary_recovery_health列がNULL
primary_recovery_health_desc nvarchar(60) primary_replica_healthの説明を示す。次のいずれかになる
 ONLINE_IN_PROGRESS
 ONLINE
 NULL
secondary_recovery_health tinyint 1つのセカンダリレプリカでレプリカの復旧の正常性を示す
 0 実行中
 1 オンライン
 NULL プライマリレプリカの場合、secondary_recovery_health列がNULL
secondary_recovery_health_desc nvarchar(60) secondary_recovery_healthの説明を示す。次のいずれかになる
 ONLINE_IN_PROGRESS
 ONLINE
 NULL
synchronization_health tinyint プログラムのロールアップを反映して、synchronization_healthの可用性グループ内の全ての可用性レプリカの状態を示す。使用可能な値と説明は次の通り
 0 正常ではない。Noneの可用性レプリカの正常性があるsynchronization_health(2=HEALTHY)
 1 部分的に正常。一部の可用性レプリカの同期状態は正常
 2 正常な状態。全ての可用性レプリカの同期状態は正常
synchronization_health_desc nvarchar(60) synchronization_healthの説明を示す。次のいずれかになる
 NOT_HEALTHY
 PARTIALLY_HEALTHY
 HEALTHY

動作例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。