Sql Server 2005数据库丢失,如何恢复所有logging。 MDF / LDF的大小和它应该是一样的

几个月前,我在我的一台客户机上安装了一个sql server 2005。 我给了他一个备份选项,以便及时采取备份,但他从来没有采取任何备份。

今天他打电话给我说:“我不能看到我的任何logging。” 我访问了我的客户系统,发现桌面上没有任何logging。 在任何表格中都没有一行。 然后我检查他是否有任何我发现不存在的备份文件。

我问他可能的原因是什么。 他说这可能是病毒造成的。

在此之后,我检查了mdf和ldf文件的大小,发现它应该是什么。 当我创build他的服务器MDF的ldf文件有2MB的数据库,现在分别是83 MB和193 MB的MDF / LDF。

这显示数据仍然存在,但不显示。

可能的原因是什么,如何将所有数据恢复到我的表格?

你不能通过文件的大小来判断。 如果他在每个DELETE * FROM table上运行DELETE * FROM table ,数据库的大小将是相同的,直到他运行DBCC SHRINKDATABASE

我会复制这个文件,然后在一个编辑器中打开它,看看里面是否有任何东西。 或者你可以试着收缩它。 如果收缩到什么程度,都是空的。 (再次,做一个备份)。

完全丢失所有数据听起来像是一个用户问题。 没有备份,没有数据,神秘病毒? 可以成为病毒,但它可能是用户错误。

由于数据库结构似乎是完整的(应该检查),最可能的原因是有人在数据库中直接搞乱了,也许是在应用程序中绕过一些业务逻辑。 病毒? 极不可能。

数据现在只会出现在事务日志中。 您可以使用Apex SQL Audit或Quest的Litespeed for SQL Server等产品查看日志,查看发生的情况并可能还原数据。