FAILOVER_HISTORY ビュー

この機能に関するフィードバックやサポートのリクエストを行う場合は、bigquery-wlm-feedback@google.com 宛てにメールをお送りください。

INFORMATION_SCHEMA.FAILOVER_HISTORY ビューには、マネージド障害復旧を使用する管理プロジェクト内の予約のフェイルオーバー イベントのニア リアルタイム リストが含まれます。各行は、1 つの予約に対する 1 つのフェイルオーバー イベントを表します。

必要なロール

INFORMATION_SCHEMA.FAILOVER_HISTORY ビューをクエリするために必要な権限を取得するには、プロジェクトに対する BigQuery リソース閲覧者 (roles/bigquery.resourceViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

この事前定義ロールには、INFORMATION_SCHEMA.FAILOVER_HISTORY ビューに対するクエリの実行に必要な bigquery.reservations.list 権限が含まれています。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

スキーマ

INFORMATION_SCHEMA.FAILOVER_HISTORY ビューのスキーマは次のとおりです。

列名 データ型 値
project_id STRING 予約を含む管理プロジェクトの ID。
project_number INTEGER 管理プロジェクトの番号。
reservation_name STRING ユーザーが指定した予約名。たとえば、予約 URI が projects/my-project/locations/US/reservations/my-reservation の場合、予約名は my-reservation です。
start_time TIMESTAMP フェイルオーバーが開始された時刻。
original_primary_location STRING 予約が最初に作成されたロケーション。
from_location STRING フェイルオーバー前のプライマリ ロケーション。このロケーションは、フェイルオーバー後にセカンダリになります。
to_location STRING フェイルオーバー前のセカンダリ ロケーション。フェイルオーバーが開始された場所。このロケーションは、フェイルオーバー後にプライマリになります。
end_time TIMESTAMP ソフト フェイルオーバーが完了した時刻。ソフト フェイルオーバーの進行中は NULL、ハード フェイルオーバーの場合は常に NULL。
failover_mode STRING フェイルオーバーのタイプ。SOFT または HARD のいずれかです。詳細については、マネージド障害復旧をご覧ください。
state STRING フェイルオーバーの状態。STARTED(ソフト フェイルオーバーの進行中またはハード フェイルオーバーの場合)または COMPLETED(ソフト フェイルオーバーの完了後)になります。ハード フェイルオーバーの STARTED 状態の詳細については、制限事項をご覧ください。

安定性を確保するため、情報スキーマクエリではワイルドカード(SELECT *)を使用するのではなく、列を明示的にリストすることをおすすめします。列を明示的にリストすると、基になるスキーマが変更されてもクエリは中断されません。

データの保持

このビューでは、フェイルオーバー イベントが 180 日間保持され、その後ビューから削除されます。

スコープと構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。次の表に、このビューのリージョン スコープを示します。

ビュー名 リソース スコープ リージョン スコープ
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.FAILOVER_HISTORY[_BY_PROJECT] プロジェクト レベル REGION
次のように置き換えます。
  • 省略可: PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
  • REGION: 任意のデータセット リージョン名。例: `region-us`

制限事項

INFORMATION_SCHEMA.FAILOVER_HISTORY ビューには次の制限が適用されます。

  • このビューには、予約のフェイルオーバー イベントのみが含まれます。個々のデータセットのフェイルオーバー イベントは含まれません。

  • 各フェイルオーバー イベントは、新しいプライマリ ロケーション(to_location)になるリージョンに記録されます。たとえば、予約を US から EU にフェイルオーバーすると、イベントは region-eu に記録されます。プライマリ ロケーションとセカンダリ ロケーション間の両方向のフェイルオーバー イベントを表示するには、各リージョンでビューを個別にクエリします。

  • ハード フェイルオーバーは、セカンダリ ロケーションでオペレーションが確認されるのを待機しないため、ハード フェイルオーバー イベントには完了シグナルがありません。ハード フェイルオーバー イベントの state 列は、フェイルオーバーが有効になった後も STARTED のままです。また、end_time 列は NULL のままです。

例

次の例では、特定の予約とプロジェクトの region-us(US がフェイルオーバーの宛先ロケーション to_location)でフェイルオーバー イベントを取得し、最新のイベントで並べ替えます。

SELECT
  project_id,
  reservation_name,
  failover_mode,
  state,
  original_primary_location,
  from_location,
  to_location,
  start_time,
  end_time
FROM
  `reservation-admin-project.region-us`.INFORMATION_SCHEMA.FAILOVER_HISTORY
WHERE
  reservation_name = 'my-reservation'
ORDER BY
  start_time DESC;

出力は次のようになります。

+---------------+------------------+---------------+-----------+---------------------------+---------------+-------------+---------------------+---------------------+
|  project_id   | reservation_name | failover_mode |   state   | original_primary_location | from_location | to_location |     start_time      |      end_time       |
+---------------+------------------+---------------+-----------+---------------------------+---------------+-------------+---------------------+---------------------+
| my-admin-proj | my-reservation   | SOFT          | COMPLETED | US                        | EU            | US          | 2026-03-15 14:20:00 | 2026-03-15 14:31:05 |
| my-admin-proj | my-reservation   | HARD          | STARTED   | US                        | EU            | US          | 2026-02-10 08:15:30 | NULL                |
+---------------+------------------+---------------+-----------+---------------------------+---------------+-------------+---------------------+---------------------+