本文說明如何使用 Azure 入口網站,將資料庫還原至您備份的適用於 PostgreSQL 的 Azure 資料庫伺服器。 您也可以使用 Azure PowerShell、 Azure CLI 和 REST API 來還原 PostgreSQL 資料庫。
如果服務在目標伺服器上具有適當的 許可權集 ,您可以將資料庫還原至不同訂用帳戶或相同訂用帳戶的任何適用於 PostgreSQL 的 Azure 資料庫伺服器,但在保存庫的相同區域內。
還原 PostgreSQL 資料庫
在 Azure 入口網站中,移至 備份保存庫>備份實例。 選取資料庫,然後選取 [ 還原]。
或者,您可以從 備份中心移至此頁面。
在 [ 選取還原點] 索引標籤上,從所選備份實例可用的所有完整備份清單中選取恢復點。 根據預設,系統會選取最新的復原點。
如果還原點位於封存層中,您必須在還原之前先將復原點解除凍結。 請提供以下解除凍結所需的其他參數:
- 解除凍結優先順序:預設值為 標準。
- 解除凍結持續時間:解除凍結最長持續時間為 30 天,解除凍結最短持續時間則為 10 天。 預設值為 15天。 復原點在此期間內會儲存在備份資料存放區中。
附註
適用於 PostgreSQL 的 Azure 資料庫封存支援處於有限預覽狀態。
在 [ 還原參數] 索引標籤上,選取下列其中一種還原類型:
還原為資料庫:目標伺服器可以與來源伺服器相同。 但不支援覆寫原始資料庫。 您可以從所有訂用帳戶中的伺服器選擇,但需與保存庫位於相同區域。
針對選取密鑰保存庫以驗證目標伺服器,選取儲存連線至目標伺服器憑證的保存庫。
選取 [檢閱並還原 ] 以觸發驗證,檢查服務是否具有 目標伺服器上的還原許可權。 這些權限必須以手動方式授與。
重要事項
透過密鑰保管庫選擇其認證憑據的資料庫使用者,具有還原後資料庫的所有權限。 會取代任何現有的資料庫使用者限制。
如果備份的資料庫具有任何使用者特定的許可權或條件約束(例如,一個資料庫使用者可以存取幾個數據表,而另一個資料庫使用者可以存取其他幾個數據表),則還原之後不會保留這類許可權。 如果您想要保留這些許可權,請使用 還原為檔案,並使用
pg_restore命令搭配相關的參數。還原為檔案:您可以從所有訂用帳戶中的儲存體帳戶選擇,但需位在與保存庫相同的區域中。
- 在 [ 目標容器 ] 下拉式清單中,選取其中一個針對選取的記憶體帳戶篩選的容器。
- 選取 [檢閱 + 還原 ] 以觸發驗證,以檢查備份服務是否具有 目標儲存體帳戶的還原許可權。
提交還原作業,然後在 [ 備份作業 ] 窗格上追蹤觸發的作業。
還原目標儲存體帳戶的權限
若要指派備份保存庫的受控識別許可權以存取記憶體帳戶容器,請遵循下列步驟:
在 Azure 入口網站中,移至 [ 記憶體帳戶>訪問控制] [IAM],然後選取 [ 新增]。
在 [新增角色指派] 窗格的 [角色] 下拉式清單中,為備份保存庫的受控識別選取 [儲存體 Blob 資料參與者] 角色。
或者,使用 Azure CLI az role assignment create 命令,為您要還原的特定容器提供細微許可權:
az role assignment create --assignee $VaultMSI_AppId --role "Storage Blob Data Contributor" --scope $id
將 assignee 參數的值取代為保管庫受控識別的應用程式識別碼。 如需 scope 參數的值,請參閱特定容器。 若要取得保存庫受控識別的應用程式識別碼,請選取 [應用程式類型] 底下的 所有應用程式。 搜尋保存庫名稱,然後複製 [應用程式識別碼] 值。
跨區域還原資料庫
您可以使用 [跨區域還原] 選項,在 Azure 配對區域的次要區域中還原適用於 PostgreSQL 的 Azure 資料庫伺服器。
開始使用 跨區域還原之前,請先閱讀 這些重要的考慮。 若要檢查此功能是否已啟用,請參閱 設定跨區域還原。
檢視次要區域中的備份實例
如果已啟用 跨區域還原 ,您可以在次要區域中檢視備份實例:
在 Azure 入口網站中,移至 [備份保存庫>備份實例]。
選取篩選條件作為執行個體區域 == 次要地區。
附註
只會列出支援 跨區域還原 功能的備份管理類型。 目前,適用於 PostgreSQL 的 Azure 資料庫伺服器僅支援將主要區域數據還原至次要區域。
在次要區域中還原
在次要區域中還原的體驗類似於在主要區域中還原的體驗。
當您在 [ 還原組態 ] 窗格上設定詳細數據以設定還原時,系統會提示您只提供次要區域參數。 保存庫應該已存在於次要區域中,且適用於 PostgreSQL 的 Azure 資料庫伺服器應該註冊至次要區域中的保存庫。
請遵循下列步驟:
附註
- 在觸發還原後的資料傳輸階段中,無法取消還原工作。
- 在跨區域執行還原作業所需的角色和存取層級包括訂用帳戶中的備份操作員角色,以及來源和目標虛擬機上的貢獻者(寫入)存取權。 若要檢視備份作業,訂用帳戶中至少需要「備份讀取者」權限。
- 次要區域中要提供備份數據的恢復點目標 (RPO) 為 12 小時。 當您開啟 跨區域還原時,次要區域的 RPO 是 12 小時 + 記錄頻率持續時間。 記錄頻率持續時間可以設定為至少 15 分鐘。
監視次要區域中的還原工作
在 Azure 入口網站中,移至 [監視 + 報告>備份作業]。
篩選實例區域中的次要區域以查看次要區域的作業。