使用 Azure REST API 在 Azure Database for PostgreSQL 灵活服务器中进行跨订阅和跨资源组还原

适用于: Azure Database for PostgreSQL 灵活服务器

本文介绍如何使用 REST API (Azure REST API) 将 Azure Database for PostgreSQL 灵活服务器实例还原到其他订阅或资源组。 若要详细了解备份和还原,请参阅概述

先决条件

创建 Azure Database for PostgreSQL - 灵活服务器实例作为主服务器。

还原到不同的订阅或资源组

  1. 使用 PostgreSQL 创建服务器 REST API

  2. 转到“请求正文”部分并粘贴以下内容,替换“location”(例如 ChinaEast3、ChinaNorth3 等)、“pointInTimeUTC”和“SourceServerResourceID”。对于“pointInTimeUTC”,请指定要还原到的时间戳值。 最后,可以使用 createMode 作为 PointInTimeRestore 来执行常规还原,使用 GeoRestore 来还原异地冗余备份。

GeoRestore

   {
  "location": "ChinaEast3",  
  "properties": 
  {
    "pointInTimeUTC": "2023-10-03T16:05:02Z",
    "SourceServerResourceID": "/subscriptions/fffffffff-ffff-ffff-fffffffffff/resourceGroups/source-resourcegroupname-rg/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name",
       "createMode": "GeoRestore"
   }
}

时间点还原

    {
      "location": "ChinaNorth3",  
      "properties": 
      {
        "pointInTimeUTC": "2023-06-15T16:05:02Z",
        "createMode": "PointInTimeRestore",
        "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name"
      }
    }
  1. 如果看到响应代码 201 或 202,则表示已成功提交还原请求。

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

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

常见错误

  • 如果使用错误的 API 版本,则可能会遇到还原失败或超时问题。 请使用 2023-06-01-preview API 来避免此类问题。
  • 为了避免潜在的 DNS 错误,建议在启动还原过程时使用不同的名称,因为同名可能会导致某些还原操作失败。