本頁說明 Spanner 還原作業,以及如何還原資料庫。如要進一步瞭解如何在 Spanner 中還原資料庫,請參閱還原總覽。
您可以使用下列方式還原 Spanner 資料庫:
事前準備
本頁面的 gcloud CLI 範例具有以下假設:
- 您已設定 gcloud CLI,可搭配 Spanner 使用。如果您是第一次搭配使用 Google Cloud CLI 與 Spanner,請參閱「透過 Google Cloud CLI 開始使用 Spanner」。
- 您已使用專案設定 Google Cloud CLI。例如:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
如要取得從備份還原資料庫所需的權限,請要求管理員在執行個體中授予下列 IAM 角色:
-
所有使用者:
Cloud Spanner 復原管理員 (
roles/spanner.restoreAdmin)
-
所有使用者:
Cloud Spanner 復原管理員 (
從備份還原資料庫
控制台
- 前往Google Cloud 控制台的 Spanner 執行個體頁面。
前往 Spanner「Instances」(執行個體) 頁面
按一下包含資料庫的執行個體,開啟「總覽」頁面。
按一下資料庫,開啟「總覽」頁面。
在導覽窗格中,按一下「備份/還原」。
按一下所選備份的「動作」按鈕,然後選取「還原」。
填寫表單,然後按一下「還原」按鈕。
如要查看作業進度,請參閱作業頁面中的進度指標:
如果作業時間過長,可以取消作業。詳情請參閱「取消長時間執行的執行個體作業」。
gcloud
如要還原資料庫,請使用 gcloud spanner
databases restore:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryption使用須知:
- 由於
--async標記,指令會立即傳回。如果沒有這個旗標,指令會等待還原作業完成。 - 如果來源和目的地執行個體不同,則必須具有相同的執行個體設定。
- 如果目的地資料庫已存在,作業就會失敗。
encryption_type的可能值為USE_DATABASE_ENCRYPTION、GOOGLE_DEFAULT_ENCRYPTION或CUSTOMER_MANAGED_ENCRYPTION。如果您使用CUSTOMER_MANAGED_ENCRYPTION,就必須指定kmsKeyName。
用戶端程式庫
下列程式碼範例會從指定備份還原資料庫,並等待還原作業 (具有 RestoreDatabaseMetadata 的作業) 完成。還原的資料庫會建立在與備份相同的執行個體中。完成後,這個範例會從資料庫擷取並列印一些還原資訊。
C++
C#
Go
Java
Node.js
PHP
Python
Ruby