共用方式為


還原適用於 PostgreSQL 的 Azure 資料庫備份

本文會說明如何將資料庫還原到以 Azure 備份加以備份的 Azure PostgreSQL 伺服器。

如果服務在目標伺服器上具有適當的權限集,您可以將資料庫還原至位於相同保存庫內不同/相同訂用帳戶的任何 Azure PostgreSQL 伺服器。

還原 Azure PostgreSQL 資料庫

  1. 前往 [備份保存庫] - >[備份執行個體]。 選取資料庫,然後按一下 [還原]

    顯示選取和還原資料庫之程式的螢幕快照。

    也可以從備份中心瀏覽至此頁面。

  2. 在 [選取還原點] 頁面上,在可供所選備份執行個體使用的所有完整備份清單中,選取復原點。 根據預設,系統會選取最新的復原點。

    顯示選取復原點之程序的螢幕擷取畫面。

    如果還原點位於封存層中,您必須在還原之前先將復原點解除凍結。 請提供以下解除凍結所需的其他參數:

    • 解除凍結優先順序:預設為標準
    • 解除凍結持續時間:解除凍結最長持續時間為 30 天,解除凍結最短持續時間則為 10 天。 預設值為 15 天。 復原點在此期間內會儲存在備份資料存放區中。
  3. 在 [還原參數] 頁面上,選取下列其中一種還原類型:[還原為資料庫] 或 [還原為檔案]

    • 還原為資料庫

      目標伺服器可以與來源伺服器相同。 但不支援覆寫原始資料庫。 您可以從所有訂閱中的伺服器選擇,但需與保存庫位於相同區域。

      1. 在 [選取金鑰保存庫和秘密] 下拉式選單中,選取用於儲存認證資訊的保存庫,以連線到目標伺服器。

      2. 選取 [檢閱 + 還原] 來觸發驗證,以檢查服務是否具有目標伺服器的還原權限。 這些權限必須以手動方式授與

      顯示選取的還原類型為 [還原為資料庫] 的螢幕快照。

重要

透過金鑰保存庫選擇其認證的資料庫使用者,將會擁有所還原資料庫的所有權限,而且將會覆寫任何現有的 DB 使用者界限。 例如:如果備份的資料庫具有任何 DB 使用者特定權限/條件約束,例如 DB 使用者 A 可以存取少數資料表,而 DB 使用者 B 可以存取其他幾個資料表,則還原之後將不會保留這類權限。 如果您想要保留那些權限,請使用還原作為檔案,並搭配相關參數使用 pg_restore 命令。

  • 還原為檔案:將備份檔案傾印到目標儲存體帳戶 (Blob)。

    您可以從所有訂閱項目中的儲存體帳戶選擇,但需位在與保存庫相同的區域中。

    1. 在 [選取目標容器] 下拉式選單中,選取其中一個針對所選儲存體帳戶篩選出的容器。
    2. 選取 [檢閱 + 還原] 來觸發驗證,以檢查備份服務是否具有目標儲存體帳戶的還原權限

    顯示選取的還原類型為 [以檔案還原] 的螢幕快照。

  1. 提交還原作業,並在 [備份作業]下追蹤觸發的作業。

    此螢幕快照顯示 [備份作業] 底下的已追蹤觸發作業。

注意

適用於 PostgreSQL 的 Azure 資料庫的封存功能支援,仍屬於功能有限的公開預覽版本。

還原目標儲存體帳戶的權限

使用 Azure 入口網站,將儲存體帳戶容器的存取權限指派給備份保存庫 MSI。

  1. 移至 [儲存體帳戶] ->[存取控制] ->[新增角色指派]

  2. 在備份保存庫 MSI 的 [角色] 下拉式選單中,選取 [儲存體 Blob 資料參與者] 角色。

    此螢幕快照顯示指派備份保存庫 M S 的程式,也就是使用 Azure 入口網站 存取記憶體帳戶容器的許可權。

或者使用 Azure CLI az role assignment 建立命令,將細微權限提供給您要還原至其中的特定容器。

az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id

以保存庫 MSI 的應用程式識別碼與範圍參數取代受託人參數,以參考您的特定容器。 若要取得保存庫 MSI 的應用程式識別碼,請選取 [應用程式類型] 下的 [所有應用程式]。 搜尋保存庫名稱,然後複製應用程式識別碼。

此螢幕快照顯示取得保存庫 MSI 應用程式識別碼的程式。

顯示複製保存庫應用程式識別碼的程式螢幕快照。

跨區域還原資料庫

作為其中一個還原選項,跨區域還原 (CRR) 可讓您在次要地區 (也就是 Azure 配對區域) 中還原適用於 PostgreSQL 的 Azure 資料庫伺服器。

考量

檢視次要地區中的備份執行個體

如果已啟用 CRR,您可以在次要地區中檢視備份執行個體。

  1. Azure 入口網站,移至 [備份保存庫] > [備份執行個體]

  2. 選取篩選條件作為執行個體區域 == 次要地區

    顯示選取次要區域作為實例區域的螢幕快照。

    注意

    只會列出支援 CRR 功能的備份管理類型。 目前僅支援將主要區域資料還原至 PostgreSQL 伺服器的次要地區。

在次要區域中還原

次要地區還原體驗類似於主要區域還原。

當您在 [還原設定] 窗格中設定詳細資料以設定還原時,系統會提示您只提供次要地區參數。 次要地區中應該有保存庫,而 PostgreSQL 伺服器應註冊至次要地區中的保存庫。 

執行下列步驟:

  1. 選取 [備份執行個體名稱] 以檢視詳細資料。

  2. 選取 [還原到次要地區]

    顯示如何還原至次要區域的螢幕快照。

  3. 選取還原點、區域和資源群組。

  4. 選取還原

    注意

    • 在觸發還原後的資料傳輸階段中,無法取消還原工作。
    • 跨區域執行還原作業所需的角色/存取層級為訂閱項目的「備份操作員」角色,以及來源和目標虛擬機器的「參與者 (寫入)」存取權。 若要檢視備份工作,至少需要訂閱項目的「備份讀取者」權限。
    • 次要區域中可供使用的備份資料 RPO 為 12 個小時。 因此,當您開啟 CRR 時,次要區域的 RPO 是 12 小時 + 記錄頻率持續時間 (可設定為至少 15 分鐘)。

監視次要區域還原工作

  1. 在 Azure 入口網站中,移至 [監視 + 報告] > [備份工作]

  2. 篩選執行個體區域的次要地區,以檢視次要地區中的工作。

    顯示如何在次要區域中檢視作業的螢幕快照。

下一步

使用 Azure 備份針對 PostgreSQL 資料庫備份進行疑難排解