还原已删除的 Azure Database for MySQL 灵活服务器实例

适用于 Azure Database for MySQL 灵活服务器

Azure Database for MySQL 灵活服务器实例被删除后,服务器备份最多可在服务中保留 5 天。 只能从服务器最初所在的 Azure 订阅访问和还原数据库备份。 可按照以下推荐步骤,在服务器删除后的 5 天内恢复已删除的 Azure Database for MySQL 灵活服务器资源。 仅当服务器的备份仍可用且未从系统中删除时,建议的步骤才适用。

先决条件

若要还原已删除的 Azure Database for MySQL 灵活服务器实例,需要以下信息:

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

还原步骤

  1. 在 Azure 门户中,从“监视”页转到活动日志

  2. 在活动日志中,单击“添加筛选器”(如图所示),并设置以下筛选器

    • 订阅 = 托管已删除服务器的订阅
    • 资源类型 = Azure Database for MySQL 灵活服务器 (Microsoft.DBforMySQL/flexibleServers)
    • 操作 = 删除 MySQL 服务器 (Microsoft.DBforMySQL/flexibleServers/delete)

    针对删除 MySQL 服务器操作筛选出的活动日志

  3. 双击“删除 MySQL 服务器”事件,然后单击“JSON”选项卡,并记下 JSON 输出中的“resourceId”和“submissionTimestamp”属性。 resourceId 格式如下:/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/deletedserver

  4. 使用创建服务器 REST API

  5. 以下是请求正文部分:

    {
        "location": "Dropped Server Location",  
        "properties": 
            {
                "restorePointInTime": "submissionTimestamp - 15 minutes",
                "createMode": "PointInTimeRestore",
                "sourceServerResourceId": "resourceId"
            }
    }
    
  6. 替换上述请求正文中的以下值:

    • “Dropped Server Location”,替换为最初创建已删除的服务器的 Azure 区域
    • “submissionTimestamp”和“resourceId”,替换为在步骤 3 中获取的值。
    • 对于“restorePointInTime”,请指定将“submissionTimestamp”减去 15 分钟后得到的值,以确保命令不出错。
  7. 如果看到响应代码 201 或 202,则表示已成功提交还原请求。

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

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

后续步骤

  • 如果在五天内尝试还原服务器,但在准确执行前述步骤后仍收到错误,请开启帮助支持事件。 如果在五天后尝试还原已删除的服务器,则会因为找不到备份文件而出错。 在这种情况下,请勿开启支持票证。 如果备份已从系统中删除,则支持团队无法提供任何帮助。
  • 如果要尝试还原其后续资源组也已被删除的已删除服务器,请先重新创建同名的资源组,然后再尝试还原已删除的服务器。
  • 为了防止意外删除服务器,强烈建议使用资源锁