在Azure Database for PostgreSQL灵活服务器中还原已删除的服务器

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

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

Prerequisites

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

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

还原已删除服务器的步骤

使用 Azure 门户

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

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

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

  3. 选择删除 PostgreSQL Server事件,然后选择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 的值(必须与已删除的服务器所在的订阅匹配,可以从前面检查的 JSON 中的属性获取 resourceId )。

  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"
  }
}

重要

删除服务器后,时间限制为五天。 五天后发生错误,因为找不到备份。

如果看到响应代码 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 错误,请在启动还原过程时使用不同的名称。 如果使用相同的名称,某些还原操作可能会失败。

资源锁