还原已删除的服务器

删除服务器后,服务将保留其Azure Database for PostgreSQL灵活服务器备份五天。 只能从最初驻留服务器的Azure订阅访问和还原该备份。

可以执行以下建议的步骤,以便在删除后五天内恢复已删除的Azure Database for PostgreSQL灵活服务器。 仅当服务器的备份仍然可用且未从系统中删除时,建议的步骤才有效。 虽然还原已删除的服务器通常成功,但并不总是保证还原已删除的服务器,因为还原已删除的服务器取决于其他几个因素。

Prerequisites

若要还原已删除Azure Database for PostgreSQL灵活服务器,需要满足以下条件:

  • 有权访问在服务器被删除前托管该服务器的 Azure 订阅。
  • 服务器所在的位置。
  • 使用 2025-08-01 版本的 服务器 - 创建或更新 REST API。

还原已删除服务器的步骤

使用Azure portal

  1. 搜索 监视器 服务。 在资源菜单中,选择 “活动日志”。

  2. 在活动日志页中,将订阅设置为托管服务器的订阅,然后选择“添加筛选器”以将操作设置为“删除 PostgreSQL 服务器”(Microsoft)。DBforPostgreSQL/flexibleServers/delete)

    活动日志的屏幕截图,其中已按已删除服务器所在的订阅和“删除 PostgreSQL 服务器”操作进行了筛选。

  3. 选择删除 PostgreSQL 服务器事件,然后选择JSON选项卡。滚动,直到在 JSON 输出中找到resourceIdsubmissionTimestamp属性。 resourceId格式如下: /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/example-resource-group/providers/Microsoft.DBforPostgreSQL/flexibleServers/example-deleted-server

    显示活动日志 JSON 的屏幕截图,其中可以从中检索还原已删除服务器所需的属性。

  4. 转到 Azure Database for PostgreSQL flexible server “创建服务器”REST API 页面

  5. 提供 resourceGroupName 的值(以前创建的要在其中创建还原服务器的资源组)、 serverName (新还原的服务器的名称,它不必与最初删除的服务器的名称匹配)、 subscriptionId (必须与已删除的服务器所在的订阅匹配,可以从 resourceId 之前检查的 JSON 中的属性提取该订阅)。

  6. “正文”部分中,粘贴以下 JSON,并将 <original-deleted-server-location> 替换为已删除服务器所在的位置(例如“中国北部 3”等),将 <value-copied-from-submissionTimestamp> 替换为在活动日志事件中检查的 JSON 里从 submissionTimestamp 检索到的值,并将 <value-copied-from-resourceId> 替换为该 JSON 中从 resourceId 检索到的值。

  {
    "location": "<original-deleted-server-location>",
    "properties":
    {
      "createMode": "ReviveDropped",
      "pointInTimeUTC": "<value-copied-from-submissionTimestamp>",
      "sourceServerResourceId": "<value-copied-from-resourceId>"
    }
  }

确保根据还原要求更改三个参数 (locationpointInTimeUTCsourceServerResourceId)。

{
  "location": "ChinaNorth3",
  "properties": {
    "createMode": "ReviveDropped",
    "pointInTimeUTC": "2026-06-09T06:08:02Z",
    "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/example-restored-resource-group/providers/Microsoft.DBforPostgreSQL/flexibleServers/example-deleted-server"
  }
}

重要

删除服务器后有 5 天的时间限制。 五天后,由于找不到备份,因此预期会出现错误。

如果看到响应代码 201 或 202,则已成功提交还原请求。

服务器创建可能需要时间,具体取决于在原始服务器上预配的数据库大小和计算资源。 如果按以下条件进行筛选,可以从活动日志监视还原状态:

  • 订阅:用于还原已删除服务器的订阅。
  • 资源类型:Azure Database for PostgreSQL 灵活服务器(Microsoft.DBforPostgreSQL/flexibleServers)。
  • 操作:更新 PostgreSQL 服务器创建。

恢复已删除的已启用虚拟网络的服务器

还原已启用已删除的虚拟网络的服务器涉及指定其他网络属性,例如委托子网的资源标识符和专用 DNS 区域。 按照以下步骤使用必要的网络配置还原服务器。

{
  "location": "ChinaNorth3",
  "properties": {
    "createMode": "ReviveDropped",
    "pointInTimeUTC": "2026-06-09T06:08:02Z",
    "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/example-restored-resource-group/providers/Microsoft.DBforPostgreSQL/flexibleServers/example-deleted-server",
    "network": {
      "delegatedSubnetResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/example-restored-resource-group/providers/Microsoft.Network/virtualNetworks/example-virtual-network/subnets/example-subnet",
      "privateDnsZoneArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/example-restored-resource-group/providers/Microsoft.Network/privateDnsZones/example-private-dns-zone"
    }
  }
}

常见错误

如果使用不正确的 API 版本,可能会遇到还原失败或超时。 使用版本 2025-08-01 避免此类问题。

为了避免潜在的 DNS 错误,我们建议在启动还原过程时使用不同的名称,因为某些还原操作可能会失败并具有相同名称。

资源锁