2013-01-15 65 views
2

大约1年半前,我们开发并提供了一个数据库驱动的应用程序。在此期间,他们备份了数据库,重新安装了软件并恢复了数据库几次。他们也向我们发送了他们的数据库,以便对db结构进行一些更新。他们已经使用了软件的内置备份和恢复功能。该软件正在使用SMO(SQl服务器管理对象)执行备份/恢复操作。在SQL Server 2008中备份和恢复导致数据丢失

他们现在声称他们的一些数据在最近的备份和恢复过程中丢失了。

这样的索赔可能或只是他们的数据输入错误?

我已经手动检查了他们的数据库,并且他们添加的数据不存在。

是否有关于SMO错误的任何报告?

+1

这很可能是您找不到SMO备份/恢复中的错误。 – mellamokb

+3

当他们向您发送升级备份时,他们是否将应用程序脱机?他们是否可能备份了数据库,然后做了一些更改,然后通过现有数据库的备份恢复数据库,从而失去了更改? –

+2

由于SMO只是调用TSQL'BACKUP'和'RESTORE'命令,所以涉及SMO错误的可能性很小。这很可能是由于人为错误(数据输入,备份/恢复时间)或某种编码错误(如脚本中未提交的事务)造成的。您必须深入了解他们如何以及何时添加数据并进行备份以确定实际发生的情况。 – Pondlife

回答

1

备份和恢复是SQL Server中的关键设施。他们总是总是始终如一地备份数据库(即时点)。您不能以丢失部分数据或引入其他不一致的方式进行备份或恢复。 SQL Server始终阻止您通过错误消息执行此操作。 (数据丢失的可能性来自像MySQL这样的其他RDBMS,几年前备份是一个挑战)。

问题在别处:在DML上执行数据库。

+1

软件具有良好的分析和精心设计,始终被视为实体一致性。正如你所说的那样,来自ourside或SQL Server端的bug不存在。 –

+0

我这么认为。我也有客户怀疑数据的完整性,大多数时候他们只是输入了错误的数据。这不是一个不寻常的客户投诉。 – usr

相关问题