还原已删除的 Azure Database for PostgreSQL 服务器

适用于: Azure Database for PostgreSQL - 单一服务器

重要

Azure Database for PostgreSQL - 单一服务器即将停用。 我们强烈建议升级到 Azure Database for PostgreSQL 灵活服务器。 有关迁移到 Azure Database for PostgreSQL 灵活服务器的详细信息,请参阅 Azure Database for PostgreSQL 单一服务器会发生什么情况?

删除服务器后,数据库服务器备份将在服务中保留五天。 只能从服务器最初所在的 Azure 订阅访问和还原数据库备份。 如果 PostgreSQL 服务器资源被删除,请在删除后的五天内按照以下建议步骤进行恢复。 只有服务器的备份仍存在且未从系统中删除时,才能使用推荐的步骤。

先决条件

要还原已删除的 Azure Database for PostgreSQL 服务器:

  • 托管原始服务器的 Azure 订阅名称
  • 服务器创建位置

还原步骤

  1. 浏览到 Azure 门户。 依次选择“Azure Monitor”服务和“活动日志”。

  2. 在活动日志中,选择“添加筛选器”(如图所示),并设置以下各项的筛选器:

    • 订阅 = 托管已删除服务器的订阅
    • 资源类型 = Azure Database for PostgreSQL 服务器 (Microsoft.DBforPostgreSQL/servers)
    • 操作 = 删除 PostgreSQL 服务器 (Microsoft.DBforPostgreSQL/servers/delete)

    针对“删除 PostgreSQL 服务器”操作筛选出的活动日志的屏幕截图。

  3. 依次选择“删除 PostgreSQL 服务器”事件和“JSON”选项卡。复制 JSON 输出中的 resourceIdsubmissionTimestamp 属性。 resourceId 格式如下:/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/deletedserver

  4. 使用 REST API

  5. 以下是请求正文部分,粘贴以下内容,替换“已删除的服务器位置”(例如,ChinaEast2、ChinaNorth2 等)、“submissionTimestamp”和“resourceId”。 对于“restorePointInTime”,请指定一个将“submissionTimestamp”减 15 分钟后得到的值,以确保命令不会出错。

    {
      "location": "Dropped Server Location",
      "properties":
      {
        "restorePointInTime": "submissionTimestamp - 15 minutes",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "resourceId"
      }
    }
    

    例如,如果当前时间为 2020-11-02T23:59:59.0000000Z,建议还原点时间至少提前 15 分钟,即 2020-11-02T23:44:59.0000000Z。 请参阅下面的示例,并确保根据还原要求更改三个参数(location、restorePointInTime、sourceServerId)。

    {
      "location": "ChinaEast2",  
      "properties":
      {
        "restorePointInTime": "2020-11-02T23:44:59.0000000Z",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
      }
    }
    
  6. 如果看到响应代码 201 或 202,则表示已成功提交还原请求。

    服务器创建可能需要一些时间,具体取决于原始服务器上预配的数据库大小和计算资源。 通过在活动日志中筛选以下信息,可以监视还原状态

    • 订阅 = 你的订阅
    • 资源类型 = Azure Database for PostgreSQL 服务器 (Microsoft.DBforPostgreSQL/servers)
    • 操作 = 更新 PostgreSQL 服务器创建

故障排除

如果在还原过程中遇到任何问题,请确保 resourceIdsubmissionTimestamp 值正确,并且备份在五天的保留期内仍可用。

下一步