MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加
微软的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把正常的数据记录提取出来。
1、D-Recovey For MS SQL Server总体设计思想是直接读取MDF文件中正常的数据记录,并把这些数据保存成sql语句或者直接导入一个新的数据库中,它不是设计成直接修复原始MDF文件使MDF文件能正常附加到数据库中。当数据库管理员使用任何方法都不能把数据库修复使它正常附加的情况下,D-Recovey For MS SQL Server就显得格外有用。
2、数据能够成功恢复的基础是MDF文件关键系统表没有被破坏,数据记录内容确实存在于MDF文件之中,如果数据记录内容被破坏被覆盖,数据恢复将不能正确恢复原来的信息。
如果有遇到相同数据库问题的朋友可以联系我
QQ:3449645657
MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加的更多相关文章
- (火炬)MS SQL Server数据库案例教程
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- MS SQL Server数据库查询优化技巧
[摘 要]本文主要是对MS SQL Server数据库查询优化技巧进行了说明和分析,对索引使用.查询条件以及数据表的设计等进行了阐述.中国论文网 http://www.xzbu.com/2/view- ...
- C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]
C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Dat ...
- MS SQL Server数据库在线管理工具
MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库管理系统. 免安装,直接解压就可以用了.直接通 ...
- MS Sql Server 数据库或表修复(DBCC CHECKDB)
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL ...
- MS SQL Server 数据库分离-SQL语句
前言 今天在在清理数据库,是MS SQL Server,其中用到分离数据库文件.在这过程中,出现了一个小小的问题:误将数据库日志文件删除了,然后数据就打不开了,除了脱机,其他操作都报错. 数据库分离 ...
- sql server 数据库复制实现数据同步常见问题(不定期更新)
sql server2008数据库复制实现数据同步常见问题 在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题 23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生 ...
- MS Sql Server 数据库或表修复(Log日志文件损坏的修复方法)
----------------- [1] use master go sp_configure reconfigure with override go ----------------- [2] ...
随机推荐
- GenericApp SampleApp SimpleAp的区别
SampleApp3.2 Zigbee2007 协议栈实验例程表演说明C:\Texas Instruments\ZStack-2.0.0-1.2.0\Projects\zstack\Samples\S ...
- POJ 1365 Prime Land(整数拆分)
题意:感觉题意不太好懂,题目并不难,就是给一些p和e,p是素数,e是指数,然后把这个数求出来,设为x,然后让我们逆过程输出x-1的素数拆分形式,形式与输入保持一致. 思路:素数打表以后正常拆分即可. ...
- Linux -- 统计文件的行数
统计单个文件有多少行 方法1: awk '{print NR}' test1.sh|tail -n1 方法2: awk 'END{print NR}' test1.sh 方法3: grep -n &q ...
- 从内存溢出看Java 环境中的内存结构(转)
作为有个java程序员,我想大家对下面出现的这几个场景并不陌生,倍感亲切,深恶痛绝,抓心挠肝,一定会回过头来问为什么为什么为什么会这样,嘿嘿,让我们看一下我们日常在开发过程中接触内存溢出的异常: Ex ...
- hdu_4897_Little Devil I(树链剖分)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4897 题意:有三种操作,1是在树上的两个节点之间的路径改变当前的颜色,2是改变树上有且只有一个端点在u ...
- 使用float和display:block将内联元素转换成块元素的不同点
使用float和display:block将内联元素转换成块元素的不同点 使用float和display:block将内联元素转换成块元素的不同点:内联元素可以转换成块级元素,常用的方法比如可以为内联 ...
- Source
转载自:http://blog.csdn.net/u014084081/article/details/44617707 Guide iOS Developer Library 教程 Ray Wend ...
- FOJ 2206 函数求解
水题 /* *********************************************** Author :Zhou Zhentao Email :774388357@qq.com C ...
- 你真的会使用XMLHttpRequest吗?
看到标题时,有些同学可能会想:“我已经用xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了.” 我之前的想法和你们一样,直到最近我使用xhr时踩了不少坑儿,我才突然发现其实自己并不够了 ...
- 微信小程序登陆流程
#1:session_key和openId是什么?session_key 官方说明为:session_key是微信服务器生成的针对用户数据进行加密签名的密钥session_key的用途(1)对wx.g ...