小编Mar*_*377的帖子

帮助撤消 SQL Server 2014 上的意外还原

昨天我犯了一个严重的错误¹:恢复错误的数据库。

背景(您可以跳过本节):

我右键单击Test数据库并像往常一样进入“恢复数据库”部分。然后,在为源选择媒体(文件)时,我浏览了我最新的生产数据库备份(在上午 01:00 执行)。这不是一个错误。我确实需要有关于测试数据库的最新信息才能......测试。

但是,只要我在“添加媒体”对话框上点击“确定”,SSMS 就会检测到我的备份是从生产数据库制作的,并“悄悄地”更改了“目的地”字段以反映这一点。直到为时已晚,我才意识到这一点。从上午 1 点到下午 6 点 30 分的所有数据库更改都丢失了。

经过几个小时的挣扎,我如何接近我的经理并传达这些不愉快的消息,我决定尽我所能以任何可能的方式修复损害,并且在某种程度上,我幸运地成功了。

现在,采取的步骤:

  1. 首先,我确保已执行今天的备份,因为它包含下午 06:30 到晚上 10:00 之间的数据库条目,这些条目不会丢失。
  2. 转到生产数据库的“恢复”对话框,然后单击“时间轴”选项,希望在下午 6:29 精确执行时间点恢复。
  3. 将前一天的备份(与我之前不小心恢复的相同)解压缩到我的默认备份位置,并确保我的系统上存在合适的“日志备份”。
  4. 设置所需的时间点,单击“验证备份媒体”并继续备份。

现在,我对它的工作感到宽慰,但正如预期的那样,我的所有表都包含截至下午 6:29 的记录,而其他所有内容都丢失了。这是一个拥有 100 多个表的大型数据库,手动检查和插入所有内容需要数天时间。

问题:是否可以仅“恢复”出现在我最新备份中的丢失记录,但不能“恢复”我当前状态数据库中的丢失记录?如果是这样,需要哪些步骤?

¹ “我担心不像你那么严重” -贝恩

编辑回应詹姆斯·安德森的担忧:

  • 关于备份链:实际上我有一个备份文件,从 06:30PM 到 10PM 都有变化。它是由我设置的工作创建的。事实上,为了确定起见,我什至将此备份恢复到一个新的临时数据库。
  • 关于让更多人参与帮助:我的经理接下来几周要出差,我的团队很小(3 人),现在我是负责人。也就是说,我会通知他们,但我一个人负责处理。即使手动。如果有任何工具可以提供帮助,请提出建议。谢谢大家。

sql-server ssms restore

4
推荐指数
2
解决办法
2795
查看次数

标签 统计

restore ×1

sql-server ×1

ssms ×1