還原已卸除的 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器實例
適用範圍:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
卸除伺服器時,適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器備份會在服務中保留五天。 您只能從伺服器原本所在的 Azure 訂用帳戶存取及還原資料庫備份。 您可以遵循下列建議步驟,在伺服器刪除后的五天內復原已卸除 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器資源。 只有在伺服器備份仍然可用且無法從系統中刪除時,建議的步驟才能運作。 還原已刪除的伺服器通常會成功,但並不一定會保證,因為還原已刪除的伺服器取決於其他幾個因素。
必要條件
若要還原已卸除 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例,您需要
- 裝載原始伺服器的 Azure 訂用帳戶名稱
- 建立伺服器的位置
- 使用 2023-03-01-preview api-version 版本
還原的步驟
瀏覽至 Azure 入口網站。 選取 [ 監視 服務],然後選取 [ 活動記錄]。
在「活動記錄」中,選取 [新增篩選條件] (如下所示),並設定下列篩選條件
訂用帳戶 = 裝載已刪除伺服器的訂用帳戶
作業 = 刪除 PostgreSQL Server (Microsoft.DBforPostgreSQL/flexibleservers/delete)
選取 [刪除 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-version 屬性會預先填入,而且可以依現成保留,如下圖所示。
移至 [ 要求本文 ] 區段,並貼上下列取代 “Dropd server Location”(例如 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": "EastUS", "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 伺服器建立
還原已卸除的 VNET 已啟用伺服器
{
"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 錯誤,建議您在起始還原程式時使用不同的名稱,因為某些還原作業可能會以相同名稱失敗。
下一步
- 如果您嘗試在五天內還原伺服器,並在正確地遵循稍早討論的步驟之後收到錯誤,請開啟支援事件以尋求協助。 如果您嘗試在五天后還原已卸除的伺服器,預期會發生錯誤,因為找不到備份檔。 在此案例中,請不要開啟支援票證。 如果從系統刪除備份,支援小組就無法提供任何協助。
- 若要防止意外刪除伺服器,強烈建議您使用資源鎖定。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應