如何恢复使用sql server 2008意外删除的数据库

如何恢复使用sql server 2008意外删除的数据库

如何恢复使用sql server 2008意外删除的数据库?

答案1

此链接回答了一些与此相关的常见问题:

SQL SERVER – 恢复数据库(有或没有备份) – 关于恢复和备份的一切

标语是:

您需要完整备份才能回滚更改。如果您没有完整备份,则无法恢复。抱歉。

答案2

这篇文章将会很长,希望能比其他答案更详细地阐述这个主题。

当您删除数据库时,其基础文件不会被移至回收站,而是会被删除。“删除”意味着 NTFS 文件系统用于描述位置和长度的目录条目会被删除,并且就操作系统而言,这些文件所在的磁盘空间可以自由用于任何目的。其他文件可能会写入那里,这将覆盖您希望“恢复”的数据。

可以使用第三方恢复实用程序“恢复”数据和日志文件。但问题是这些实用程序通常无法将文件 100% 完整地恢复,因为数据可能已经写入文件之前所在的磁盘区域。如果在删除数据库时删除文件后系统继续运行了一段时间,情况尤其如此。(您最好的但不是最佳的选择是在删除数据库后立即关闭系统。我猜这并没有发生。)

如果文件没有通过恢复删除实用程序 100% 正确恢复,您的数据和/或数据库文件的内部结构将被破坏。当文件重新联机(使用附加命令)时,SQL Server 可能会注意到这一点,然后将数据库标记为可疑。您将回到原来的状态,没有可用的数据库。

即使 SQL Server 成功将数据库联机,也不能保证您的数据没有损坏。使用附加命令将可能有问题的数据库联机后,您应该做的第一件事就是对其运行 DBCC CHECKDB()。如果该命令运行时没有发现问题,则您可能没有问题(并且您应该立即进行备份)。更有可能的是,它会发现无法修复的损坏。

如果您确实需要恢复数据,互联网上有很多文章讨论各种英雄壮举,以尝试从损坏的数据库中提取尽可能多的未损坏数据。您可以尝试一下,或者最好打电话给专家甚至微软(他们可能会向您推荐他们的合作伙伴)。

虽然从技术角度来看,“英雄事迹”很有趣,但最好的做法是避免必须通过非常规手段才能恢复数据的情况。(对于不全职管理数据库的人来说,这一点尤其正确(实际上是三重正确)。)最简单的做法是定期备份数据,无论使用何种方式,并测试恢复过程。磁盘空间看起来很昂贵,直到您意识到通过第三方专家恢复数据的成本有多高。

答案3

您有备份吗?如果有,请从此处恢复。

如果没有,您没有其他选择。MDF 和 LDF 文件将被删除(请参阅删除数据库

答案4

只要删除后没有向该驱动器写入任何内容,它们就仍然存在。只是文件系统中的分配消失了。尝试https://www.ccleaner.com/recuva/download- 对我有用 :-)

相关内容