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

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

重要

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

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

先决条件

要还原已删除的 Azure Database for MySQL 服务器,需要执行以下操作:

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

还原步骤

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

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

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

    Activity log filtered for delete MySQL server operation

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

  4. 使用 REST API

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

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

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

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

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

后续步骤

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