您可以將 Spanner 資料庫的備份還原為新的資料庫。還原的資料庫會在備份的 version_time
中包含原始資料庫的所有資料和結構定義,包括使用 ALTER DATABASE SET OPTIONS
指令設定的所有資料庫選項。不過,下列項目不會包含在還原的資料庫中:
- IAM 權限 (除了從包含已還原資料庫的執行個體繼承的權限)。還原作業完成後,您必須套用適當的 IAM 權限。
- 任何變更串流的內部資料。
- 資料列刪除政策定義的存留時間 (TTL)。還原作業完成後,您必須重新設定這些政策。詳情請參閱「備份和 TTL」。
- 預先分割資料庫時建立的分割點。詳情請參閱「預先分割總覽」。
從備份還原時,還原的資料庫會位於與來源備份相同的執行個體、區域和專案。如果您需要因法規遵循或業務連續性而從其他區域或專案的備份還原,可以將備份複製到位於其他區域或專案的執行個體,然後從複製的備份還原。
您可以透過下列方式使用備份還原功能:
- 在 Google Cloud 控制台中
- 使用 Google Cloud CLI
- 使用用戶端程式庫
- 使用 REST 或 RPC API
從備份還原資料庫的運作方式
還原 Spanner 資料庫時,您必須指定來源備份和新的目標資料庫。您無法還原至現有資料庫。新還原的資料庫必須位於與備份相同的專案,且執行個體的執行個體設定和 Spanner 版本必須與備份相同 (或更高層級)。舉例來說,如果備份位於已設定 us-west3
且使用 Enterprise 版的執行個體中,則可還原至專案中任何已設定 us-west3
且使用 Enterprise 版的執行個體。如果您將 Enterprise 版執行個體中的備份還原至 Standard 版執行個體,如果資料庫使用 Enterprise 版功能,還原作業可能會失敗。但實例的運算容量不必相同。
復原程序旨在提供高可用性。只要執行個體中的區域和可用區有大多數的法定人數,就可以還原資料庫。
如要還原啟用 CMEK 的備份,金鑰和金鑰版本都必須可供 Spanner 使用。根據預設,已還原的資料庫會使用與備份相同的加密設定。您可以在還原資料庫時指定不同的加密設定,藉此覆寫這項行為。詳情請參閱從啟用 CMEK 的備份還原資料。
將備份還原至其他區域或專案
如果您需要將備份還原至其他區域或專案,請先將備份複製至所選區域或專案。複製備份完成後,即可還原。您可以在目的地執行個體中還原備份 (只要該執行個體使用與來源備份執行個體相同的版本即可),也可以在任何與目的地執行個體具有相同執行個體設定和相同 (或更高層級) 版本的執行個體中還原備份。還原前,請確認目的地執行個體已配置足夠的節點或處理單元,以便根據每個節點 10 TB 的儲存空間限制支援資料庫大小 (也就是說,您需要至少 2 個節點才能還原 20 TB 的備份)。如果您已將備份複製到其他專案,且想在該專案中還原備份,請確認目的地專案有足夠的節點配額可供還原作業使用。還原複製的備份與一般還原方式相同。
復原狀態
CREATING
:Spanner 會開始建立新的資料庫,並從備份安裝檔案,以便開始還原。在這個初始CREATING
狀態期間,還原的資料庫尚未準備好供使用。這項狀態通常會在一小時內完成。CREATING
狀態完成後,資料庫即可供使用。如要追蹤此狀態的進度,您可以查詢 Spanner 在這個程序中提供的長時間執行還原作業。會傳回
RestoreDatabaseMetadata
物件。請注意以下有關
CREATING
狀態的警告事項:- 如果是還原至其他執行個體,還原作業就屬於包含已還原資料庫的執行個體,而非包含備份的執行個體。
- 如果備份還原作業仍未完成,Spanner 就不會允許您刪除該備份。還原作業完成並且資料庫進入
READY
狀態後,您就可以刪除該檔案。 - 由於從備份還原,執行個體最多可有十個處於
CREATING
狀態的資料庫。在十個已還原的資料庫中,有一個資料庫轉換為READY_OPTIMIZING
或READY
狀態之前,您無法將其他備份還原至執行個體。
READY_OPTIMIZING
:Spanner 掛載備份後,會開始將備份資料複製到新資料庫,同時將儲存大小最佳化。在這個過程中,資料庫已可供使用。對於大小小於 100 TB 的資料庫,這個還原階段通常需要數小時才能完成。您可以在
READY_OPTIMIZING
期間照常使用資料庫,但請注意下列事項:- 讀取延遲時間可能會比平常稍長。
- 儲存空間指標會顯示新資料庫的大小,而非備份。因此,在資料移轉作業仍在進行時,Spanner 儲存空間指標可能會顯示不反映所有資料總大小的結果。
- 與
CREATING
狀態相同,Spanner 不會允許您刪除已掛載的備份。
Spanner 會在這個狀態下提供另一項長時間執行的還原作業,這次會傳回
OptimizeRestoredDatabaseMetadata
中繼資料物件。READY
:複製及最佳化作業完成後,資料庫會轉換為READY
狀態。資料庫已完全還原,且不再參照或需要備份。
存取權控管 (IAM)
spanner.restoreAdmin
角色會授予您從備份還原的權限。詳情請參閱「使用 IAM 控管存取權」。
以下角色也能存取 Spanner 還原作業:
spanner.admin
:擁有還原作業的完整存取權。這個角色可存取所有 Spanner 資源。owner
:擁有還原作業的完整存取權。editor
:擁有還原作業的完整存取權。viewer
:可查看還原作業和還原作業。但無法建立、更新、刪除或複製備份。
定價
從備份還原不會產生任何費用。
後續步驟
- 如要從備份還原資料庫,請參閱「從備份還原」。