還原已卸除 適用於 PostgreSQL 的 Azure 資料庫 伺服器

適用於:適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器位於淘汰路徑上。 強烈建議您升級至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器。 如需移轉至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的詳細資訊,請參閱單一伺服器 適用於 PostgreSQL 的 Azure 資料庫 發生什麼事?

卸載伺服器時,資料庫伺服器備份會在服務中保留五天。 您只能從伺服器原本所在的 Azure 訂用帳戶存取及還原資料庫備份。 您可以遵循下列建議步驟,在伺服器刪除后的五天內復原已卸除的 PostgreSQL 伺服器資源。 只有在伺服器的備份仍可供使用,且未從系統中刪除時,建議的步驟才會生效。

必要條件

若要還原已卸除 適用於 PostgreSQL 的 Azure 資料庫 伺服器,您需要下列專案:

  • 裝載原始伺服器的 Azure 訂用帳戶名稱
  • 建立伺服器的位置

還原的步驟

  1. 瀏覽至 Azure 入口網站選取 Azure 監視器服務,然後選取 [活動記錄]。

  2. 在 [活動記錄] 中,選取 [ 新增篩選 ],如下所示並設定下列篩選條件

    • 用帳戶 = 裝載已刪除伺服器的訂用帳戶
    • 資源類型 = 適用於 PostgreSQL 的 Azure 資料庫 伺服器 (Microsoft.DBforPostgreSQL/servers)
    • 作業 = 刪除 PostgreSQL Server (Microsoft.DBforPostgreSQL/servers/delete)

    針對刪除 PostgreSQL 伺服器作業篩選的活動記錄

  3. 選取 [ 刪除 PostgreSQL Server] 事件,然後選取 [JSON] 索引 標籤resourceId 複製 JSON 輸出中的 和 submissionTimestamp 屬性。 resourceId 的格式如下: /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/deletedserver

  4. 流覽至 PostgreSQL 建立伺服器 REST API 頁面 ,然後選取綠色醒目提示的 [試用] 索引標籤。 使用您的 Azure 帳戶進行登入。

  5. 根據在上一個步驟 3 中擷取的 resourceId 屬性,提供 resourceGroupName、serverName(已刪除的伺服器名稱)、subscriptionId 屬性。 api-version 屬性已預先填入,且可以依現成保留,如下圖所示。

    使用 REST API 建立伺服器

  6. 在 [要求本文] 區段下方捲動並貼上下列內容,並取代 “Dropd 伺服器位置”(例如 CentralUS、EastUS 等)、“submissionTimestamp” 和 “resourceId”。 若為 「restorePointInTime」,請指定 「submissionTimestamp」 的值減 15 分鐘 ,以確保命令不會發生錯誤。

    {
      "location": "Dropped Server Location",  
      "properties": 
      {
        "restorePointInTime": "submissionTimestamp - 15 minutes",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "resourceId"
      }
    }
    

    例如,如果目前時間是 2020-11-02T23:59:59:59.0000000Z,建議在 2020-11-02T23:44:59.0000000Z 之前至少 15 分鐘的時間點。 請參閱下列範例,並確定您根據還原需求變更三個參數(location,restorePointInTime,sourceServerId)。

    {
      "location": "EastUS",  
      "properties": 
      {
        "restorePointInTime": "2020-11-02T23:44:59.0000000Z",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
      }
    }
    

    重要

    伺服器卸除后的五天有時間限制。 在五天后,預期會發生錯誤,因為找不到備份檔。

  7. 如果您看到回應碼 201 或 202,則已成功提交還原要求。

    伺服器建立可能需要時間,視在原始伺服器上布建的資料庫大小和計算資源而定。 藉由篩選 ,即可從活動記錄監視還原狀態

    • 用帳戶 = 您的訂用帳戶
    • 資源類型 = 適用於 PostgreSQL 的 Azure 資料庫 伺服器 (Microsoft.DBforPostgreSQL/servers)
    • 作業 = 更新 PostgreSQL 伺服器建立

下一步

  • 如果您嘗試在五天內還原伺服器,並在正確遵循先前討論的步驟之後仍收到錯誤,請開啟支援事件以尋求協助。 如果您嘗試在五天后還原已卸除的伺服器,則預期會發生錯誤,因為找不到備份檔。 在此案例中,請勿開啟支援票證。 如果備份從系統刪除,支援小組就無法提供任何協助。
  • 若要防止意外刪除伺服器,強烈建議使用 資源鎖定