ACCESS数据库覆盖碎片提取

  客户:济南某桌球城

  故障:装系统导致数据库丢失

  解决方案:

  客户使用的是威宏军遥台球计费系统,软件使用了ACCESS的MDB数据库,客户那边是装系统后发现数据丢失的,客户自己有过备份数据,备份数据只到2014年12月28日,离操作丢失数据库中间相差1个月数据丢失,

  丢失后客户自己尝试从网上下载软件扫描,找到了一个1月28号的数据库,但是文件损坏了,发给我们看过之后发现客户恢复出的文件底层全是垃圾数据,没有任何有用数据块,只能拿我们自主开发的AUTOMDB软件去收集碎片了,

  很快就能看到扫描了很多碎片,最后将扫描碎片解析后文件大小将近1G,随后将文件处理后发现里面掺杂了很多乱的表,

  很明显有乱七八糟的其他数据库碎片掺杂到了客户需要的数据库里面去,我们用自己写的工具将无用碎片信息直接剔除,最后在结合客户老的备份数据库的结构将文件重组,在看看效果。

  客户需要的充值记录与消费单都出现了,而且时间就到客户丢失的最后一次使用,数据完整出现。历时1个半小时!

  这已经是3天内2起因为装系统导致的ACCESS数据库丢失了,大家装系统前还是多注意下数据情况吧,幸亏这两个客户运气都还不错啊!!!

时间: 2024-10-05 08:53:32

ACCESS数据库覆盖碎片提取的相关文章

C# ACCESS数据库操作类

这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的调用可以参考MSSQL那个类的调用,差不多的,只是提取所有记录的数量的时候有多一个参数,这个需要注意一下! using System; using System.Text; using System.Collections; using System.Collections.Specialized; using System.Data; using System.Data.OleDb; using System

如何在Asp.net中备份Access数据库?

public   void   Create(   string   mdbPath   ) { if(   File.Exists(mdbPath)   )   //检查数据库是否已存在 { throw   new   Exception( "目标数据库已存在,无法创建 "); } //   可以加上密码,这样创建后的数据库必须输入密码后才能打开 mdbPath   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= &

C# 压缩和修复Access数据库

转载自:http://www.cnblogs.com/SparkZG/p/6530398.html 1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Collections; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.WebControls

ACCESS数据库C#操作类(包含事务)

转自http://blog.csdn.net/allen3010/article/details/6336717 这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的调用可以参考MSSQL那个类的调用,差不多的,只是提取所有记录的数量的时候有多一个参数,这个需要注意一下! c# 代码 using System;? ? using System.Text;? ? using System.Collections;? ? using System.Collectio

数据分析---SQL(Access数据库)

1. SQL(Structure Quest Language) 一种结构化查询语言,它是一种通用的关系型数据库操作语言,用于存取数据,查询,更新和管理数据库. 2. 基本语句 Select, Create, Insert, Drop 3. SQL语句注意事项 1)SQL语句中,英文字母大写或小写均可 2)每个SQL语句的关键字用空白符号分隔 3)字段或参数之间用逗号分隔 4)SQL语句中,如参数为字符型,需要使用单引号,数值型不使用单引号 5)SQL语句结束时,在语句结尾处添加分号,在Acce

.net(C#)在Access数据库中执行sql脚本

自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 1 /// <summary> 2 /// 执行sql语句 3 /// </summary> 4 /// <param name="sql">需要执行的sql语句</param> 5 public bool ExecuteSql(string sql, ref string errorMsg) 6 { 7 Se

IIS发布站点Access数据库不能写

1..Net Framework 2.0中,共享池采用经典模式,在.Net Framework 2.0中,共享池采用集成模式. 2.在共享池高级设置中将"启用32位应用程序"属性值设置为true. 3.在数据库文件夹中,将IUSR_***权限设置为允许修改,写入.将数据库文件属性栏将"只读"前的"√"点掉即可. 4.在上传文件夹中,将IUSR_***权限设置为允许修改,写入. IIS发布站点Access数据库不能写,布布扣,bubuko.com

Java 连接MS Access数据库

java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代码 1 try { 2

C#连接Access数据库(详解)

做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以选择使用access数据库,这样就能省去一定的开支. 首先,我们建一个数据库,因为大家使用的office版本不同,有用2000的有用2003的还有用 2007或者2010的.我用的是2007,但是无论用哪个版本请把建的数据库建为.mdb结尾的2003版本的不要建 .accdb结尾的. 建一个表,请先