還原已卸除的適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器執行個體
適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
卸除伺服器後,適用於 PostgreSQL 的 Azure 資料庫彈性伺服器備份會在服務中保留五天。 您只能從伺服器原本所在的 Azure 訂用帳戶存取及還原資料庫備份。 您可以依照下列建議步驟,在刪除伺服器後的五天內復原已卸除的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器資源。 只有在伺服器的備份仍可供使用,且未從系統刪除時,建議的步驟才有用。 雖然還原已刪除的伺服器通常會成功,但並不一定會保證,因為還原已刪除的伺服器取決於其他幾項因素。
必要條件
若要還原已卸除的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體,您需要
- 裝載原始伺服器的 Azure 訂用帳戶名稱
- 建立伺服器的位置
- 使用 2023-03-01-preview api-version 版本
還原的步驟
瀏覽至 Azure 入口網站。 選取 [監視器] 服務,然後選取 [活動記錄]。
在「活動記錄」中,選取 [新增篩選條件] (如下所示),並設定下列篩選條件
選取 [刪除 PostgreSQL 伺服器] 事件,然後選取 [JSON] 索引標籤。複製 JSON 輸出中的
resourceId
和submissionTimestamp
屬性。 resourceId 的格式如下:/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/ResourceGroup-name/providers/Microsoft.DBforPostgreSQL/flexibleServers/deletedserver
。瀏覽至適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的建立伺服器 REST API 頁面,然後選取以綠色醒目提示的 [試用] 索引標籤。 使用您的 Azure 帳戶進行登入。
重要
執行之前,請使用此 api-version 2023-03-01-preview,而不是預設值,以如下列步驟所述啟用此 API 函數。
根據先前步驟 3 中所擷取的 resourceId 屬性 JSON 值,提供 resourceGroupName、serverName (目標伺服器名稱)、、subscriptionId 屬性。 API 版本屬性已預先填入,而且可單獨保留。
移至 [要求本文] 區段,並貼上下列內容,以取代「卸除的伺服器位置」(例如 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" } }
重要
卸除伺服器之後,有五天的時間限制。 在五天後,由於找不到備份檔案,預期會發生錯誤。
如果您看到回應碼 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"
}
}
}
常見錯誤
- 如果您使用不正確的 API 版本,可能會遇到還原失敗或逾時。 使用 2023-03-01-preview API 來避免此類問題。
- 若要避免潛在的 DNS 錯誤,建議您在初始化還原程式時使用不同的名稱,因為某些還原作業使用相同的名稱可能會失敗。