FAILOVER_HISTORY 视图

如需针对此功能请求反馈或支持,请发送电子邮件至 bigquery-wlm-feedback@google.com。

INFORMATION_SCHEMA.FAILOVER_HISTORY 视图包含管理项目中使用托管灾难恢复的预留的故障切换事件的近乎实时列表。每一行代表单个预留的单个故障切换事件。

所需的角色

如需获得查询 INFORMATION_SCHEMA.FAILOVER_HISTORY 视图所需的权限,请让您的管理员为您授予项目的 BigQuery Resource Viewer (roles/bigquery.resourceViewer) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

此预定义角色可提供 bigquery.reservations.list 权限,查询 INFORMATION_SCHEMA.FAILOVER_HISTORY 视图需要该权限。

您也可以使用自定义角色或其他预定义角色来获取此权限。

架构

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                |
+---------------+------------------+---------------+-----------+---------------------------+---------------+-------------+---------------------+---------------------+