【发布时间】:2012-02-07 00:14:27
【问题描述】:
我有一个数据库,客户端似乎在一夜之间丢失了数据。他们输入记录并退出系统,然后声称第二天无法再次找到它们。
受影响表的主键索引中的 ID 号在应该自动递增和连续时似乎确实存在差距。客户端没有删除记录的功能,所以似乎有问题。
我已尝试使用DBCC CHECKDB 和DBCC REINDEX,但记录没有重新出现,问题仍然存在。
从 VB.NET 2010 应用程序退出时,我使用以下内容为每个表写入记录:
Me.binds_Tablename1.EndEdit()
Me.binds_Tablename2.EndEdit()
TableAdapterManager.UpdateAll(Me.Dataset_1)
这个系统已经运行了 2 年,但现在正在发挥作用。数据库损坏可能是问题吗?
【问题讨论】:
-
很难说发生了什么!您是否使用过 sql server 审计和数据库审计规范来找出谁/哪个进程使用 delete 语句访问了表?
-
不太可能是数据库。奥卡姆剃刀法则表明,如果数据库和代码最近都没有改变,那么您需要查看数据/用户/月球的相位等作为起点。
标签: sql sql-server-2008 vb.net-2010