下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

常见的数据错误原因详解

作者:课课家教育     来源: http://www.kokojia.com点击数:2083发布时间: 2017-05-30 14:00:31

标签: 数据库数据丢失虚拟化

  当存储介质出现损伤或由于人员误操作、操作系统本身故障所造成的数据看不见、无法读取、丢失。工程师通过特殊的手段读取却在正常状态下不可见、不可读、无法读的数据。数据恢复(Data recovery)是指通过技术手段,将保存在台式机硬盘、笔记本硬盘、服务器硬盘、存储磁带库、移动硬盘、U盘、数码存储卡、Mp3等等设备上丢失的电子数据进行抢救和恢复的技术。

  数据损坏随时可能发生在任何人身上,没有任何办法可保证它不会发生。DBA的职责是,尽量尽早发现损坏,并及时处理。我在之前提到过,数据受损是灾难事件中的一部分,现在单独拿出来讨论,希望大家能够重视它的重要性。大多数DBA没有丰富经验如何处理损坏,因为这并不是定期会遇到的问题。真正发生时,关键措施之一就是迅速找到损坏的数据所在。如果不这样做,可能会导致无法从损坏之处进行恢复,并且不丢失数据,相反,可能有时会丢失大量数据。

常见的数据错误原因详解_数据库_数据丢失_虚拟化_课课家教育

  下面给大家讲一讲基础数据恢复的知识

  SQL Server提供了很多内置的方法帮助检测损坏。 我在之前一文介绍了用于备份和恢复的CHECKSUM选项,并在以后会介绍页校验(page verification)选项。现在要介绍的是使用DBCC CHECKDB命令或其他DBCC CHECK命令进行基本的数据完整性检查。

  DBA再忙,但至少应该定期检查所有数据库的完整性。经常被DBA忽视的是“定期检查”。恢复受损数据不丢失任何数据,并将停机时间最小化,这就意味着要对部分或整个数据库进行备份。但是,如果你备份的数据库已经受损(没有使用CHECKSUM选项),那你得到的就是受损的备份。如果这个受损备份长时间没有被发现,你不太可能有一个好的、未损坏的备份,并能够把数据库恢复到当前时间。

  分区硬盘存放数据的基本单位为扇区,我们可以理解为一本书的一页。当我们装机或买来一个移动硬盘,第一步便是为了方便管理--分区。无论用何种分区工具,都会在硬盘的第一个扇区标注上硬盘的分区数量、每个分区的大小,起始位置等信息,术语称为主引导记录(MBR),也有人称为分区信息表。当主引导记录因为各种原因(硬盘坏道、病毒、误操作等)被破坏后,一些或全部分区自然就会丢失不见了,根据数据信息特征,我们可以重新推算计算分区大小及位置,手工标注到分区信息表,“丢失”的分区回来了。

分区硬盘存放数据的基本单位为扇区,我们可以理解为一本书的一页。当我们装机或买来一个移动硬盘,第一步便是为了方便管理--分区。无论用何种分区工具,都会在硬盘的第一个扇区标注上硬盘的分区数量、每个分区的大小,起始位置等信息,术语称为主引导记录(MBR),也有人称为分区信息表。当主引导记录因为各种原因(硬盘坏道、病毒、误操作等)被破坏后,一些或全部分区自然就会丢失不见了,根据数据信息特征,我们可以重新推算计算分区大小及位置,手工标注到分区信息表,“丢失”的分区回来了。

  文件分配表为了管理文件存储,硬盘分区完毕后,接下来的工作是格式化分区。格式化程序根据分区大小,合理的将分区划分为目录文件分配区和数据区,就像我们看得小说,前几页为章节目录,后面才是真正的内容。文件分配表内记录着每一个文件的属性、大小、在数据区的位置。我们对所有文件的操作,都是根据文件分配表来进行的。文件分配表遭到破坏以后,系统无法定位到文件,虽然每个文件的真实内容还存放在数据区,系统仍然会认为文件已经不存在。我们的数据丢失了,就像一本小说的目录被撕掉一样。要想直接去想要的章节,已经不可能了,要想得到想要的内容(恢复数据),只能凭记忆知道具体内容的大约页数,或每页(扇区)寻找你要的内容。我们的数据还可以恢复回来。

  删除我们向硬盘里存放文件时,系统首先会在文件分配表内写上文件名称、大小,并根据数据区的空闲空间在文件分配表上继续写上文件内容在数据区的起始位置。然后开始向数据区写上文件的真实内容,一个文件存放操作才算完毕。删除操作却简单的很,当我们需要删除一个文件时,系统只是在文件分配表内在该文件前面写一个删除标志,表示该文件已被删除,他所占用的空间已被“释放”, 其他文件可以使用他占用的空间。所以,当我们删除文件又想找回他(数据恢复)时,只需用工具将删除标志去掉,数据被恢复回来了。当然,前提是没有新的文件写入,该文件所占用的空间没有被新内容覆盖。

  格式化格式化操作和删除相似,都只操作文件分配表,不过格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。格式化操作并没有对数据区做任何操作,目录空了,内容还在,借助数据恢复知识和相应工具,数据仍然能够被恢复回来。注意:格式化并不是100%能恢复,有的情况磁盘打不开,需要格式化才能打开。如果数据重要,千万别尝试格式化后再恢复,因为格式化本身就是对磁盘写入的过程,只会破坏残留的信息。

格式化格式化操作和删除相似,都只操作文件分配表,不过格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。格式化操作并没有对数据区做任何操作,目录空了,内容还在,借助数据恢复知识和相应工具,数据仍然能够被恢复回来。注意:格式化并不是100%能恢复,有的情况磁盘打不开,需要格式化才能打开。如果数据重要,千万别尝试格式化后再恢复,因为格式化本身就是对磁盘写入的过程,只会破坏残留的信息。

  覆盖数据恢复工程师常说:“只要数据没有被覆盖,数据就有可能恢复回来”。因为磁盘的存储特性,当我们不需要硬盘上的数据时,数据并没有被拿走。删除时系统只是在文件上写一个删除标志,格式化和低级格式化也是在磁盘上重新覆盖写一遍以数字0为内容的数据,这就是覆盖。一个文件被标记上删除标志后,他所占用的空间在有新文件写入时,将有可能被新文件占用覆盖写上新内容。这时删除的文件名虽然还在,但他指向数据区的空间内容已经被覆盖改变,恢复出来的将是错误异常内容。同样文件分配表内有删除标记的文件信息所占用的空间也有可能被新文件名文件信息占用覆盖,文件名也将不存在了。当将一个分区格式化后,有拷贝上新内容,新数据只是覆盖掉分区前部分空间,去掉新内容占用的空间,该分区剩余空间数据区上无序内容仍然有可能被重新组织,将数据恢复出来。同理,克隆、一键恢复、系统还原等造成的数据丢失,只要新数据占用空间小于破坏前空间容量,数据恢复工程师就有可能恢复你要的分区和数据。

  即使是在磁带上长期存储,你可能也需要及时检查备份是否有损坏。也有可能你并没有从受损点之后的所有日志文件,以致你无法把数据库恢复至当前。这可能意味着相当多的数据会丢失。至少,如果通过异地存储进行恢复,可能造成长时间的宕机。最糟的情况是,大多数(或全部)的数据可能丢失。曾有过这样的公司因为发生类似的事件,造成最后公司倒闭。

即使是在磁带上长期存储,你可能也需要及时检查备份是否有损坏。也有可能你并没有从受损点之后的所有日志文件,以致你无法把数据库恢复至当前。这可能意味着相当多的数据会丢失。至少,如果通过异地存储进行恢复,可能造成长时间的宕机。最糟的情况是,大多数(或全部)的数据可能丢失。曾有过这样的公司因为发生类似的事件,造成最后公司倒闭。

  虽然DBCC CHECKDB WITH REPAIR_ALLOW_DATA_LOSS这个选项操作简单,但自动修复损坏应该作为最后不得已的选择。这个选项通过重新分配受损页进行修复,但如果数据页一旦消失了,就永久消失了。在无法快速查找损坏,也没有未受损的有效备份时,很多DBA可能会采用这种方法。但,这是DBA很严重的疏忽之处,不及时检测受损数据,会让自己时刻面临被炒的危险。

  虽然我们不愿意承认,但是很多时候是因为我们自己的问题而导致数据丢失。可以考虑利用文字处理器中的保障措施,例如版本特征功能和跟踪变化。用户数据丢失的最常见的情况就是当他们在编辑文件的时候,意外地删除掉某些部分,那么在文件保存后,被删除的部分就丢失了,除非你启用了保存文件变化的功能。如果你觉得那些功能很麻烦,那么我建议你在开始编辑文件之前将文件另存为不同名称的文件,这个办法不像其他办法一样组织化,不过这确实是一个好办法,也能够解决数据丢失的问题。

  还有更多详细内容,尽在课课家教育,我们期待您的咨询!

赞(18)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程