共用方式為


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

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

必要條件

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

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

還原的步驟

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

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

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

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

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

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

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

重要

執行之前,請使用此 api-version 2024-08-01 ,而不是預設值,如下列步驟所述啟用此 API 函式。

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

  2. 移至 [要求本文] 區段,並貼上下列內容,以取代「卸除的伺服器位置」(例如 CentralUS、EastUS 等等)、"submissionTimestamp" 和 "resourceId"。 針對 「pointInTimeUTC」,指定 「submissionTimestamp」 的值。

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

請確定您根據還原需求變更三個參數(location,pointInTimeUTC,sourceServerResourceId)。

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

重要

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

  1. 如果您看到回應碼 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 版本,可能會遇到還原失敗或逾時。 使用 2024-08-01 API 來避免這類問題。

  2. 若要避免潛在的 DNS 錯誤,建議您在初始化還原程式時使用不同的名稱,因為某些還原作業使用相同的名稱可能會失敗。