共用方式為


還原已卸除的適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體

適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

卸除伺服器後,適用於 PostgreSQL 的 Azure 資料庫彈性伺服器備份會在服務中保留五天。 您只能從伺服器原本所在的 Azure 訂用帳戶存取及還原資料庫備份。 您可以依照下列建議步驟,在刪除伺服器後的五天內復原已卸除的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器資源。 只有在伺服器的備份仍可供使用,且未從系統刪除時,建議的步驟才有用。 雖然還原已刪除的伺服器通常會成功,但並不一定會保證,因為還原已刪除的伺服器取決於其他幾項因素。

必要條件

若要還原已卸除的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體,您需要

  • 裝載原始伺服器的 Azure 訂用帳戶名稱
  • 建立伺服器的位置
  • 使用 2023-03-01-preview api-version 版本

還原的步驟

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

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

    • 訂用帳戶 = 裝載已刪除伺服器的訂用帳戶

    • 作業 = 刪除 PostgreSQL 伺服器 (Microsoft.DBforPostgreSQL/flexibleservers/delete)

      螢幕擷取畫面顯示以「刪除 PostgreSQL 伺服器」作業進行篩選的活動記錄。

  3. 選取 [刪除 PostgreSQL 伺服器] 事件,然後選取 [JSON] 索引標籤。複製 JSON 輸出中的 resourceIdsubmissionTimestamp 屬性。 resourceId 的格式如下:/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/ResourceGroup-name/providers/Microsoft.DBforPostgreSQL/flexibleServers/deletedserver

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

重要

執行之前,請使用此 api-version 2023-03-01-preview,而不是預設值,以如下列步驟所述啟用此 API 函數。

  1. 根據先前步驟 3 中所擷取的 resourceId 屬性 JSON 值,提供 resourceGroupNameserverName (目標伺服器名稱)、、subscriptionId 屬性。 API 版本屬性已預先填入,而且可單獨保留。

  2. 移至 [要求本文] 區段,並貼上下列內容,以取代「卸除的伺服器位置」(例如 CentralUS、EastUS 等等)、"submissionTimestamp" 和 "resourceId"。 針對 "pointInTimeUTC",指定 submissionTimestamp 加上 5 分鐘的值,確保命令不會發生錯誤。

      {
        "location": "Dropped Server Location",
        "properties":
        {
          "pointInTimeUTC": "submissionTimestamp + 05 minutes",
          "createMode": "ReviveDropped",
          "sourceServerResourceId": "resourceId"
        }
      }
    

    例如,如果提交時間戳記是 2023-06-15T15:58:02Z,建議您根據還原需求新增至少 5 分鐘以還原時間點 2023-06-15T16:05:02Z,並確定變更三個參數 (location、pointInTimeUTC、sourceServerResourceId)。

        {
        "location": "WestUS",
        "properties":
        {
          "pointInTimeUTC": "2023-06-15T16:05:02Z",
          "createMode": "ReviveDropped",
          "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name"
        }
      }
    

    重要

    卸除伺服器之後,有五天的時間限制。 在五天後,由於找不到備份檔案,預期會發生錯誤。

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

    建立伺服器可能需要時間,取決於在原始伺服器上佈建的資料庫大小和計算資源。 可以篩選下列項目,從活動記錄中監視還原狀態:

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

還原啟用了已卸除虛擬網路的伺服器

還原啟用了已卸除虛擬網路的伺服器涉及指定其他網路屬性,例如,委派的子網路資源識別碼和私人 DNS 區域 Azure Resource Manager 資源識別碼。 請遵循下列步驟,使用必要的網路組態來還原您的伺服器。

{
  "location": "EastUS",
  "properties": {
    "createMode": "ReviveDropped",
    "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name",
    "pointInTimeUTC": "2023-06-20T20:50:59.4078005+00:00",
    "Network": {
      "DelegatedSubnetResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.Network/virtualNetworks/VirtualNetwork-Name/subnets/Subnet-Name",
      "PrivateDnsZoneArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.Network/privateDnsZones/privatednszonename"
    }
  }
}

常見錯誤

  1. 如果您使用不正確的 API 版本,可能會遇到還原失敗或逾時。 使用 2023-03-01-preview API 來避免此類問題。
  2. 若要避免潛在的 DNS 錯誤,建議您在初始化還原程式時使用不同的名稱,因為某些還原作業使用相同的名稱可能會失敗。

後續步驟