以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  sql数据丢失  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=55530)

--  作者:scott518
--  发布时间:2014/8/18 20:39:00
--  sql数据丢失

近期用户有反应SQL 2005数据库上有的表单的记录会丢失,比如上午新增了一张订单,已经保存成功。结果下午发现这张订单却没有了,在数据库上直接查找也找不到,日志上查看有新增的记录却没有过删除的记录,并且确定没有人删除过,这段时间操作项目也从来没有出现过错误提示。请教这类问题主要会是什么原因造成的?

谢谢!


--  作者:有点甜
--  发布时间:2014/8/18 20:43:00
--  

这个就不应该了,新增的行,如果凭空消失的话,就是没有保存到数据库造成的。

 

比如,你保存100行数据,在过程中,网络突然失灵,可能会导致某些数据没有保存


--  作者:scott518
--  发布时间:2014/8/18 20:54:00
--  
一定保存成功了的,因为订单审批有几个流程,第一个流程录入完成传递前会自动保存,然后第二个流程的加载数据审批时已经看见了,只是当时没有审批,下午想再次加载来审批时却没有了。用户安装的SQL2005是开发版的,这种情况过几天就发生一次,会不会和这个有关系?
--  作者:有点甜
--  发布时间:2014/8/18 20:59:00
--  

 那就是肯定是你代码哪里有问题了。

 

 你看看你所有删除行的代码,或者修改行的代码,或者用sql语句修改行的代码。有可能不是行被删除了,而是关键字段被修改等缘故,导致你查不到这条数据了吧?


--  作者:scott518
--  发布时间:2014/8/18 22:06:00
--  

按老师这样说,是SQL数据库的导致的可能性是很小了,关键字段被修改是有可能,但是每张表单的新增,修改或删除都是通过事务执行的。如果有修改过关键字段应该日志中有记录才对。

我再找找原因看看。

谢谢!

[此贴子已经被作者于2014-8-18 23:57:53编辑过]