微软的SQL Server 数据库最常用的有两种类型的文件:
1、主要数据文件,文件后缀一般是.MDF;
2、事务日志文件,文件后缀一般是.LDF。
用户数据表、视图、存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录。
MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据。当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种:
1、使用MS SQL Server环境进行修复,先以修复模式挂载数据库,然后以单用户模式对数据库进行修复,运气好的话,数据库就能修复成功。
2、用第三方工具直接读取MDF数据文件,把数据表、视图、存储过程等提取出来,然后还原到新建的数据库中。
D-Recovey For MS SQL Server就是能直接读取MDF数据文件的工具,即便用上述第一种方法没有恢复成功的情况下,D-Recovey For MS SQL Server有时候也能读取出MDF数据文件中的数据。下面我们来介绍D-Recovey For MS SQL Server的一些数据恢复功能。
我们先来看一下数据库损坏的几种情况:
1、由于断电等原因导致数据库质疑,这是一种较为常见的MS SQL Server数据库损坏的情况,这种情况在上述第一种修复方法往往能修复好,但也有修不好的可能。
2、数据库附加错误,最常见的如下图:
3、数据表查询错误,如下图:
数据库报823错误通常是数据页面校验没有通过,一般是由于坏道、突然断电、数据覆盖等原因引起的,有些情况下数据库能附加,但是查询某个表的时候报823错误,用MS SQL Server数据库环境也修复不好。D-Recovey For MS SQL Server对于823错误处理效果不错。
D-Recovey For MS SQL Server具备如下恢复功能:
1、能恢复由于断电及别的原因引起的数据库状态变成质疑而损坏的MDF文件
2、能恢复磁盘坏道及别的原因引起的数据库无法正常附加而损坏的MDF文件
3、能恢复数据库状态正常而某些数据表查询出错造成的数据丢失情况的数据
4、能恢复通过MDF文件碎片组合(手工提取)而成的MDF文件中的数据
D-Recovey For MS SQL Server软件界面如下
D-Recovey For MS SQL Server的界面设计按照MS SQL Server企业管理器使用习惯来进行,左边窗口显示的是数数据表、视图、存储过程、用户自定义函数、用户自定义数据类型,点击数据表,就能看到所有数据表名称,数据表“+”号展开后,可以看到数据表字段信息等,点击某个表,右边窗口就显示该数据表的数据记录信息,如果某个数据表记录比较多,可以通过下一页、上一页进行翻页显示。
细心观察的朋友会发现,每一页显示的记录条数可能不一样,这是程序设计的时候,按照一定的数据页面来显示的,比如没个显示页读取64个数据页面(data page),在MDF文件中,每个data page的数据记录数量不一定相等,所以显示出来的记录数量就会有差异。
D-Recovey For MS SQL Server数据库恢复步骤:
1、打开MDF文件,选择数据库版本
2、打开完以后,左边显示数据表、视图、存储过程、用户自定义函数、用户自定义数据类型,点击“+”可展开,点击左边某个表,右边列出表记录。
 
 
把数据恢复成脚本文件
数据恢复功能中的导出所有表结构、导出选中表结构是把数据库的表结构导出来,保存成.sql文件,这是一个包含sql语句格式的文本文件,用户可以在MS SQL Server中运行这些sql语句文件,就能创建出数据表。
导出所有表数据和导出选中表数据是把表数据导出来,保存成sql语句文件,用户可以把这些sql语句文件在MS SQL Server查询分析器中运行,把相应表中的数据恢复到MS SQL Server中。值得注意的是,数据库全部保存成sql文件以后,程序生成一个commit.bat批处理文件,运行这个commit.bat批处理文件,填写数据要导入的目标数据库用户名和密码以及数据库服务器IP地址和目标数据库名称,然后批处理文件会自动把所有sql语句文件导入到目标数据库中。
把数据恢复到新的数据库中
数据库恢复中最实用的功能就是把看到的数据表中的数据直接导入MS SQL Server新建的数据库中。加入我们要恢复一个a.mdf文件,我们要把a.mdf文件中的所有数据恢复到数据库服务器127.0.0.1上的DSTtest数据库中,就要点击D-Recovey For MS SQL Server的“把所有表导入数据库”这个按钮,就弹出如下对话框,我们把数据库服务器IP地址、数据库名称、连接数据库的用户名和密码,然后点击确定,a.mdf文件中的数据就自动导入到DSTtest中。
D-Recovey For MS SQL Server还具备检测MDF数据文件数据页面是否正确的功能。
点击“检查数据库文件”按钮,出来如下对话框,我们先择一个mdf文件,开始检测,在检测过程中,我们注意“null page”(即空数据页)和“err page”(即错误数据页)数量的变化,如果错误数据页特别多,那这个mdf文件损坏就比较严重。
MS SQL Server数据库另外一种常见的恢复方法是通过提取MDF数据页面,然后整合拼接成一个MDF数据文件,通过这种方式恢复一般很少能附加到数据库中,可以通过D-Recovey For MS SQL Server把正常的数据记录提取出来。
注:本文由D-Recovey For MS SQL Server软件开发者达思CTO覃廷良撰写,转载请注明出处(http://www.dstfix.com),D-Recovey For MS SQL Server官方网站:http://www.d-recovery.org
总结:
1、D-Recovey For MS SQL Server总体设计思想是直接读取MDF文件中正常的数据记录,并把这些数据保存成sql语句或者直接导入一个新的数据库中,它不是设计成直接修复原始MDF文件使MDF文件能正常附加到数据库中。当数据库管理员使用任何方法都不能把数据库修复使它正常附加的情况下,D-Recovey For MS SQL Server就显得格外有用。
2、数据能够成功恢复的基础是MDF文件关键系统表没有被破坏,数据记录内容确实存在于MDF文件之中,如果数据记录内容被破坏被覆盖,数据恢复将不能正确恢复原来的信息。

转载于:https://blog.51cto.com/199818/541693

MS SQL Server数据库修复利器—D-Recovery For MS SQL Server数据恢复软件相关推荐

  1. SQL Extractor 数据库修复取证大师软件功能介绍

    SQL Extractor 数据库修复取证大师介绍 SQL Extractor 数据库修复取证大师 功能介绍:SQL Extractor数据库修复取证大师最新版本10.94 软件特色:针对勒索病毒加密 ...

  2. SQL Server 数据库修复步骤

    SQL Server 数据库修复步骤 1. ALTER DATABASE 数据库名称 SET EMERGENCY 2. ALTER DATABASE 数据库名称 SET SINGLE_USER 3. ...

  3. 管家婆SQL SERVER数据库修复案例

    管家婆SQL SERVER数据库修复案例 [数据库故障描述] 用户在使用过过程中,由于突然断电,造成数据无法读取.DBCC检测数据库提示以下错误 消息211,级别23,状态51,第1 行 可能发生了架 ...

  4. 转载--SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除)

    SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除) 所谓孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数 ...

  5. sql数据库修复技巧:用达思sql数据库修复软件时表重复怎么搞办?

    曾经有个达思sql数据库修复软件的用户在恢复用友数据库时,还原到用友环境时,发现菜单重复,一个按钮变出好几个相同的按钮,就像孙悟空拔出毫毛变出好多个小孙悟空,一直在捉弄那个不会处理重复数据的抓耳挠腮的 ...

  6. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

  7. Android Data Recovery for Mac(安卓数据恢复软件)破解版安装

    1.Android Data Recovery 简介 Android Data Recovery 是 macOS 系统上一款 Android 设备数据恢复软件,能够帮助我们在 mac 电脑上对 And ...

  8. SQL SERVER数据库修复

    数据库错误如下: 消息 824,级别 24,状态 2,第 2 行 SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:143744,但实际为 24490:153 ...

  9. SQL SERVER数据库修复之REPAIR_ALLOW_DATA_LOSS级别简介和实例

    目录 (一)前言 (二)关于DBCC CHECKxxx系列命令 1. DBCC CHECKALLOC 2. DBCC CHECKCATALOG 3. DBCC CHECKDB (1)基本概念 (2)基 ...

最新文章

  1. 俱乐部又多了一个MVP
  2. spring框架搭建第二天
  3. 使用IntelliJ IDEA11创建Java Web程序
  4. python 多个列表合并_Python对两个有序列表进行合并和排序的例子
  5. 移动端ajax,jQuery基于$.ajax设置移动端click超时处理方法
  6. java -jar 默认参数_JAVA入门学习指南,建议收藏
  7. mysql 字段 as_mysql 字段as详解及实例代码
  8. CV Code | 计算机视觉开源周报 20190505期
  9. java 本地内存_哪个更快:Java堆还是本地内存
  10. 使用Ext Designer 设计简单计算器
  11. WindowsServer2003 MSSQL安全
  12. Unity中Lua造成的堆内存泄露问题
  13. Python 之 解析xml
  14. PHP面试技巧 之 职场暗语知多少?!
  15. Openbci升级版使用方法
  16. Chrome vimium 插件
  17. 程序员养生书单,九本必读养生书籍,颈椎按摩,脊椎按摩,脱发植发
  18. 计算机属性中只有远程协助,使用Windows自带的远程协助功能解决电脑问题
  19. 了解公司企业:Primetics
  20. ICS-GNN:Lightweight Interactive Community Search via Graph Neural Network

热门文章

  1. 伊朗APT组织的网络间谍工具源代码和攻击者被泄露和曝光
  2. 【XSS-4】waf绕过与修复
  3. Android 自定义字体样式
  4. 中科断网神器,给你前所未有过的功能体验
  5. Stunnel 的用法
  6. 减速器性能测试软件,RV减速器性能检测平台的研究
  7. 权威指南:超融合基础参考架构(Nutanix)
  8. intelliJ IDEA maven打包时提示系统资源不足
  9. 几种常见的传统汽车总线传输通信技术
  10. “疫”起坚守 保障数据中台服务“不打烊”