首页 > 解决方案 > 如何在 MSSMS 中恢复我的 SQL Server 数据库?

问题描述

我备份了我的数据库,但选择将其保存到我自己的 C 驱动器上的位置,而不是默认位置。从那里我还将它复制到 USB 记忆棒中。所以我有旧数据。但是我怎样才能恢复它呢?

我不小心删除了很多我需要找回的记录。我在 MSSMS 中没有看到“撤消”选项,也没有看到“回滚”选项。

这是我的第一个想法(尝试撤消或回滚)。所以然后我去做一个“恢复”但它失败了。

这是我尝试过的:

在此处输入图像描述

我尝试使用出现的默认设置,但是在单击“确定”按钮后,我得到了:

在此处输入图像描述

我认为这可能是因为我没有备份到默认位置,而是备份到我的硬盘。因此,我尝试通过选择“设备”单选按钮,然后选择此处的省略号按钮来访问 C 驱动器上的备份文件:

在此处输入图像描述

...然后从我放置它的文件夹中选择文件:

在此处输入图像描述

...但我仍然得到“恢复失败”

我的下一次尝试(也是我知道要尝试的最后一件事)是使用 USB 记忆棒(驱动器 D)。

于是我再次点击了省略号按钮,删除了之前的条目(C 盘)并添加了 D/usb 记忆棒,并选择了相同的文件:

在此处输入图像描述

我在此处选择了 OK,然后在此处再次选择了 OK:

在此处输入图像描述

...但是第三次​​是诅咒,可以这么说:再次,我得到“数据库恢复失败”

在此处输入图像描述

我也尝试恢复,不是数据库,而是文件:

在此处输入图像描述

...但是得到了这个:

在此处输入图像描述

必须可以恢复我的数据库——毕竟,我确实备份了两个副本。但是怎么做?

标签: sql-serverssmsdatabase-backupsdatabase-restore

解决方案


因为您在 SSMS 中查看它,所以认为该数据库正在使用中。

你有两个选择。

  • 在进行恢复时(在左侧)的“选项”表中,确保勾选“关闭现有连接”框。(请注意,您可能还需要勾选有关覆盖现有数据库的内容。)
  • 恢复到新数据库(例如,FixToFams4_RESTORE_20201015)而不是覆盖旧数据库,然后将您需要的数据从恢复的数据库传输回原始数据库。

后者安全,也是我的首选,除非您乐于完全回滚到您进行备份时的时间。

如果您使用第一个选项,我强烈建议您在还原到旧版本之前备份当前数据库,以防您完成了一些您想要恢复的工作(例如,创建的过程等)。


推荐阅读