【发布时间】:2020-01-25 13:43:37
【问题描述】:
我正在为我们的 Web 应用程序设置 Azure SQL DB。我们启用了时间点保留 (PITR) 和长期保留 (LTR)。我们的流程是将备份保留 1 年。
定期,我们需要通过应用 SQL 脚本来升级数据库。有时升级脚本有问题,升级失败。我们需要将数据库回滚到以前的版本。
为了回滚数据库,我尝试了恢复功能。但是,恢复功能似乎只创建新数据库;这就是问题所在。恢复到新数据库并删除旧数据库效果很好,但我们丢失了所有备份历史记录。看来备份对数据库来说很累(可能是 ResourceId)。
那么,我怎样才能使用 Azure SQL DB 并定期恢复一个 DB 并仍然保留所有备份历史记录?
【问题讨论】:
-
您是否找到任何好的解决方案来维护已恢复数据库实例的备份历史记录?
-
我为此功能创建了一个社区请求:feedback.azure.com/forums/217321-sql-database/suggestions/…
-
根据我的发现,LTR 备份将保留用于已删除的数据库。因此,如果您使用旧数据库名称重命名新数据库,您的 LTR 备份将继续由原始数据库名称创建和查询(尽管只能通过 powershell)。时间点恢复似乎仅限于数据库的生命周期,因为它们使用差异备份和事务日志来执行恢复。还值得注意的是,Azure 门户不会为您完成所有这些艰苦的工作,您必须使用 PowerShell 的 Az 模块。
标签: database azure azure-sql-database backup restore