【问题标题】:SQL Azure Data Restore possible?SQL Azure 数据恢复可能吗?
【发布时间】:2026-01-28 19:55:01
【问题描述】:

我刚刚犯了一个愚蠢的错误。以为我已连接到本地开发数据库,​​我不小心对我的生产 SQL Azure 数据库运行了以下脚本:

DELETE myTable
GO

我的数据是否像我担心的那样永远消失了,还是 SQL Azure 有一些神奇的“回滚到 1 小时前”按钮?

我可以做些什么来恢复我的表的数据?

(顺便说一句,不,我没有数据库备份。SQL Azure 不支持备份。而且,是的,我意识到这可能回答了我自己的问题......我只是希望我错了。)

【问题讨论】:

  • 伙计,我以前去过那里 - 我对你有感觉。并为我担心!

标签: sql-server azure azure-sql-database


【解决方案1】:

更新

Azure SQL 数据库会自动为所有基本、标准和高级数据库创建备份。通过这些备份,您可以执行时间点还原并恢复已删除的数据库。这些备份也异地复制到配对区域,因此在发生区域灾难时,您可以使用最新备份恢复数据库(V12 服务器为 1 小时 RPO)。

您可以在此处了解有关 Azure SQL 数据库的备份和还原功能的更多信息:https://msdn.microsoft.com/en-us/library/azure/jj650016.aspx

还有一个关于Point in Time Restore 的博客和一个关于Geo-Restore 的博客以及一个关于Azure SQL 数据库中Business Continuity 产品的文档。

您可能不想听到这个,但常规数据库副本似乎是您唯一的选择,即http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-backup-and-restore-strategy.aspx - 并且必须积极完成。

用户错误 数据库的常见原因 恢复不是来自失败或 灾难;它是由用户引起的 错误。要么是一个错误的命令,比如 DROP DATABASE,架构更改 不要正确执行(导致数据 丢失),或破坏数据的代码。 创建备份以防止 用户错误由 客户和需要采取 写的时候考虑 备份和恢复策略。

在 SQL Azure 的服务更新 4 中 复制数据库的能力是 介绍了。此功能允许您 复制正在运行的数据库创建 另一个功能齐全的 SQL Azure 同一个数据中心的数据库。这 是您可以采取的策略 对数据库进行任何更改或 代码调用数据库创建一个 完整备份。不错的之一 关于这项技术的事情是 副本功能齐全 数据库并且可以恢复 迅速地。事实上,恢复可能是 就像更改应用程序一样简单 指向副本的连接字符串 数据库。

Transact SQL 如下所示:

创建数据库 目的地数据库名称 作为 [source_server_name.]source_database_name 的副本 复制 Adventure Works 数据库 到同一台服务器,我执行这个:

创建数据库 [AdvetureWorksBackup] 作为 [AdventureWorksLTAZ2008R2] 的副本 该命令必须在以下情况下执行 连接到主数据库 目标 SQL Azure 服务器。

【讨论】:

  • 注意数据库是“在同一个数据中心”。
  • Azure 门户中是否有任何方法可以触发备份?即在你做一些 Db 工作之前按需创建一个备份。
【解决方案2】:

不幸的是,到目前为止,这是一个用户级别的错误 - 它不在现代 SQL Azure 功能集中。

我建议您在 http://www.mygreatwindowsazureidea.com/forums/34685-sql-azure-feature-voting 上投票支持此功能 - 这是一项最高票数的“最受欢迎”功能 - 它由 MS 团队正式监控。

HTH,

【讨论】: