「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、Always On 可用性グループのレプリカの状態を出力する「sys.dm_hadr_availability_replica_states」を解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「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.