検索
連載

Always On 可用性グループのレプリカの状態を出力するSQL Server動的管理ビューレファレンス(6)

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

Share
Tweet
LINE
Hatena

SQL Server動的管理ビュー一覧

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

概要

 「sys.dm_hadr_availability_replica_states」動的管理ビューを出力することで、可用性グループレプリカの詳細な状態を確認することができます。

 プライマリレプリカに接続して出力した場合には、全てのセカンダリレプリカについて情報が出力されます。ただし、セカンダリレプリカについての一部の情報は出力されません。セカンダリレプリカに接続して出力した場合には、接続しているセカンダリレプリカに関する情報のみが出力されます。

出力内容

列名 データ型 説明
replica_id uniqueidentifier レプリカID
group_id uniqueidentifier 可用性グループID
is_local bit このレプリカがローカルレプリカかどうか
 0 = いいえ
 1 = はい
role tinyint このレプリカの現在のロール
 0 = 解決中
 1 = プライマリ
 2 = セカンダリ
role_desc nvarchar(60) role の説明
 RESOLVING
 PRIMARY
 SECONDARY
operational_state tinyint レプリカの現在の操作状態
 0 = フェールオーバー保留
 1 = 保留中
 2 = オンライン
 3 = オフライン
 4 = 失敗
 5 = 失敗、クォーラムなし
 NULL = レプリカがローカルでない
operational_state_desc nvarchar(60) operational_state の説明
 PENDING_FAILOVER
 PENDING
 ONLINE
 OFFLINE
 FAILED
 FAILED_NO_QUORUM
 NULL
recovery_health tinyint レプリカデータベースの状態
 0 = オンラインでないレプリカデータベースが存在する
 1 = 全てのレプリカデータベースがオンライン
 NULL = このレプリカがローカルではない場合
recovery_health_desc nvarchar(60) recovery_healthの説明
 ONLINE_IN_PROGRESS
 ONLINE
 NULL
synchronization_health tinyint レプリカデータベースの同期状態
 0 = 同期が停止されているデータベースが存在する
 1 = 部分的に正常な状態 (一部が同期中)
 2 = 正常な状態
synchronization_health_desc nvarchar(60) synchronization_health の説明
 NOT_HEALTHY
 PARTIALLY_HEALTHY
 HEALTHY
connected_state tinyint セカンダリレプリカとプライマリレプリカの接続状態
 0 = 未接続
 1 = 接続済み
connected_state_desc nvarchar(60) connection_state の説明
 DISCONNECTED
 CONNECTED
last_connect_error_number int 最後に発生した接続エラーの番号
last_connect_error_description nvarchar(1024) 最後に発生した接続エラーメッセージ
last_connect_error_timestamp datetime 最後に発生した接続エラーの発生日時

動作例

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る