Sql Server 2005 数据库丢失,如何恢复所有记录。MDF/LDF 大小与应有的大小相同

Sql Server 2005 数据库丢失,如何恢复所有记录。MDF/LDF 大小与应有的大小相同

几个月前,我在一台客户机上安装了 SQL Server 2005。我给了他一个备份选项,让他及时备份,但他从来没有备份过。

今天他打电话给我说“我看不到我的任何记录。”我访问了我的客户系统,发现表格中没有任何记录。任何表格中甚至连一行都没有。然后我检查他是否有任何备份文件,但我发现备份文件不见了。

我问他原因可能是什么,他说可能是病毒引起的。

在此之后,我检查了 mdf 和 ldf 文件的大小并发现它应该是这样的。当我创建他的服务器 mdf ldf 文件时有 2MB 的数据库,现在它分别是 83 MB 和 193Mb mdf/ldf。

这表明数据仍然存在但尚未显示。

可能的原因是什么以及如何将所有数据恢复回我的表?

答案1

不能根据文件大小来判断。如果他DELETE * FROM table在每个表上运行,那么数据库的大小将保持不变,直到他运行为止DBCC SHRINKDATABASE

我会复制文件,然后在编辑器中打开它,看看里面是否真的有内容。或者你可以尝试缩小它。如果它缩小到没有内容,它就是空的。(再次进行备份)。

在我看来,所有数据全部丢失似乎是用户问题。没有备份,没有数据,神秘病毒?可能是病毒,但也可能是用户错误。

答案2

由于数据库结构看似完好无损(您应该检查一下),最可能的原因是有人直接在数据库中捣乱,也许是为了绕过使用它的应用程序中的一些业务逻辑。病毒?极不可能。

现在数据似乎只存在于事务日志中。您可以使用类似Apex SQL审计或者Quest 的 Litespeed For SQL Server查看日志,看看发生了什么,可能恢复数据。

相关内容