SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視區塊
INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視畫面包含與容錯移轉預留項目相關聯的結構定義副本資訊。INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視畫面會限定在容錯移轉預留空間的專案中,而不是限定在包含資料集的專案中,與 INFORMATION_SCHEMA.SCHEMATA_REPLICAS 檢視畫面不同。
必要角色
如要取得查詢 INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視畫面所需的權限,請要求管理員授予專案的「BigQuery 資源檢視者 」(roles/bigquery.resourceViewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
結構定義
INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視表具有下列結構定義:| 欄 | 類型 | 說明 |
|---|---|---|
failover_reservation_project_id |
STRING |
如果與副本相關聯,則為容錯移轉預留項目管理員專案的專案 ID。 |
failover_reservation_name |
STRING |
如果容錯移轉預留項目與副本相關聯,則為容錯移轉預留項目的名稱。 |
catalog_name |
STRING |
資料集所屬專案的專案 ID。 |
schema_name |
STRING |
資料集的資料集 ID。 |
replica_name |
STRING |
副本名稱。 |
location |
STRING |
建立副本的單一區域或多區域。 |
replica_primary_assigned |
BOOL |
如果值為 TRUE,代表副本已指派為主要副本。 |
replica_primary_assignment_complete |
BOOL |
如果值為 TRUE,表示主要指派作業已完成。
如果值為 FALSE,即使 replica_primary_assigned 等於 TRUE,備用資源仍不是 (還不是) 主要備用資源。 |
creation_time |
TIMESTAMP |
副本的建立時間。首次建立副本時,副本不會與主要副本完全同步,直到 creation_complete 等於 TRUE 為止。creation_time 的值會在 creation_complete 等於 TRUE 之前設定。 |
creation_complete |
BOOL |
如果值為 TRUE,表示主要副本已完成與次要副本的初始完整同步。 |
replication_time |
TIMESTAMP |
副本中的部分資料表可能早於這個時間戳記。這個值只會顯示在次要區域。 如果資料集包含含有串流資料的表格, |
sync_status |
JSON |
主要和次要副本之間的同步狀態,適用於跨區域複製和災難復原資料集。如果副本是主要副本,或資料集未使用複製功能,則傳回 NULL。 |
replica_primary_assignment_time |
TIMESTAMP |
觸發主要資料庫切換至副本的時間。 |
replica_primary_assignment_completion_time |
TIMESTAMP |
主要執行個體切換至備用資源的時間。 |
為確保穩定性,建議您在資訊結構定義查詢中明確列出資料欄,而非使用萬用字元 (SELECT *)。明確列出資料欄可避免基礎結構定義變更時,查詢中斷。
範圍和語法
對這個檢視表執行的查詢必須包含區域限定詞。下表說明這個檢視畫面的區域範圍:
| 檢視表名稱 | 資源範圍 | 區域範圍 |
|---|---|---|
[RESERVATION_PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION[_BY_PROJECT] |
專案層級 | REGION |
-
選用:
PROJECT_ID:您的 Google Cloud 專案 ID。如未指定,系統會使用預設專案。 -
REGION:任何資料集區域名稱。 例如:`region-us`。
範例
本節列出 INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION 檢視區塊的查詢範例。
範例:列出某個區域中的所有複製資料集
以下範例會列出 US 區域中的所有複製資料集:
SELECT * FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION WHERE failover_reservation_name = "failover_reservation";
結果大致如下:
+--------------+--------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+---------------------+---------------------------------+---------------------------+-------------------------------------------------------------------------------+
| catalog_name | schema_name | replica_name | location | replica_primary_assigned | replica_primary_assignment_complete | creation_time | creation_complete | replication_time | failover_reservation_project_id | failover_reservation_name | sync_status |
+--------------+--------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+---------------------+---------------------------------+---------------------------+-------------------------------------------------------------------------------+
| project2 | test_dataset | us-east4 | us-east4 | true | true | 2024-05-09 20:34:06 | true | NULL | project1 | failover_reservation | NULL |
| project2 | test_dataset | us | US | false | false | 2024-05-09 20:34:05 | true | 2024-05-10 18:31:06 | project1 | failover_reservation | {"last_completion_time":"2024-06-06 18:31:06","error_time":null,"error":null} |
+--------------+--------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+---------------------+---------------------------------+---------------------------+-------------------------------------------------------------------------------+