⑴ mysql delete删除了,怎么恢复
MySQL开启binlog后,写入操作都会记录到二进制日志里,可以使用mysqlbinlog查看/导出/恢复数据.
1.如果你有归档日志的话,你可以先将数据恢复到上一个备份点,然后使用recover恢复到做命令前的时间点上。呵呵,还是很麻烦的。
2.mysql中的表在正常情况下执行delete 指定删除的记录实际上只是在索引文件中做了删除标记,同时也将数据文件中对记录的头几个字节改写, 但这几个字节具体的与入内容不清楚.
通过研究数据文件, 会发现几种数据类型保存的格式.
varchar: 在该类型数据开始的位置有一个字节来指出后面多少个字节是该字段的内容, 但是有一个例外就是如果后面的内容与varchar字段指定的长度完全相等时,就没有开头的这个字节了.
text: 这个基本上与varchar类型一样, 但是在开始是由两个字节来指出后面的数据长度的. 而且是高位在前,低位在后.
datetime: 为8个字节,同样是低位在前,高位在后, 将其转化为long值后就是yyyymmddhhmmss的格式的数据.
由于要恢复的表中只有这几种数据类型,所以对其他的类型没有研究.
知道了数据储存的格式, 就可以分析数据文件来读取记录了.
需要注意一点就是如果你在删除数据库插入了新的数据, 那么就有可能将原来的数据覆盖掉. 所以应该在删除出错后立即恢复才能恢复出大部分数据
⑵ sql中的数据,用delete删除了,用什么软件进行恢复
这个基本上很难实现了,那些恢复软件只能处理删除系统中的文件,但是数据库的删除操作是在文件内部的,很难控制,有可能数据库在进行其他读写的时候将删除的数据空间给回收了,所以这样就会被新数据覆盖
即时没有被覆盖,数据库通常不会执行一个真正的删除操作,而是在删除记录的位置放置一个失效标记,便于以后的回收,这个策略是处于效率上的考虑。但是虽说记录还在,但是这种恢复是非常难以实现的,需要了解数据库存储文件的格式才有希望做到。据说oracle有这类软件,但是是付费的。
⑶ SQL,误删除如何恢复
文件恢复软件介绍
VRVFIX
该软件专门用于恢复被CIH病毒破坏的硬盘,被CIH病毒破坏的硬盘,其分区表已被彻底改写,用A盘启动也无法找到硬盘。所以,要恢复C分区的数据,首先要恢复硬盘分区表,这里推荐使用北信源公司为对付CIH病毒而专门推出的硬盘数据挽救工具:VRVFIX,这是一个免费软件,可以在北信源公司的主页下载:http;//www.vrv.com.cn。
使用方法如下: .准备一张无病毒的启动盘,注意要根据原有操作系统及分区情况制作系统引导盘(FAT16或FAT32)。 把下载的VRVFIX.EXE文件拷入该引导盘,要确保还有足够剩余空间,并打开写保护。 用这张引导盘引导染毒的电脑并运行VRVFIX.EXE,按回车键开始计算分区信息并自动恢复,当出现提示时,按回车键,直到出现"Make Partition Table ok"。 至此,修复完成,用引导盘重新引导系统,除C盘以外的其他逻辑分区(D、E、F...)的数据已经修复,但仍然无法访问C分区。 完成了以上的工作后,就可以着手恢复C分区上的数据了。C分区目录结构被CIH病毒破坏了,无法被访问,要恢复C分区的目录结构,需要用到一个叫Tiramisu的工具软件,如果不是因为CIH病毒,需要了解这个软件的朋友可以访问Ontrack公司的主页:http://www.ontrack.com,这里着重介绍它的具体使用方法。 针对FAT16和FAT32,Tiramisu有For FAT16版和For FAT32版,应根据染毒硬盘的分区情况选择相对应的版本,两个版本均可以在http://www.ontrack.com下载。 制作一张无病毒的引导盘,把HIMEM.SYS和EMM386.EXE两个文件也拷入引导盘然后在CONFIG.SYS中加入:
DOS=HIGH
DEVICE=HIMEM.SYS
DEVICE=EMM386.EXE RAM
把下载的Tiramisu压缩包里的所有文件解压缩到引导盘上。
用这张引导盘引导电脑,运行Tiramisu.exe,在"File"菜单中选择"Start recovery"菜单项,程序开始自动从C分区上寻找目录结构,这个过程所需要的时间由硬盘数据的多少决定。C分区的目录结构搜索结束后,会显示目录搜索结果,从中 CLUS????,但目录里的文件却丝毫无损。用Tiramisu修复后,只是改变了目录名,其结构和文件并未损坏。
至此,硬盘数据全部恢复。
|-page-|
上面的方案比较麻烦但是可以完全恢复被CIH破坏硬盘里面的数据,对于数据不是很重要的用户可以尝试下面的简单恢复方案,虽然简单但不一定能有效地恢复:
设法找到与你的硬盘完全相同的另一个硬盘。然后使用KV300的"KV300/B"命令,将这个硬盘的主引导扇区备份出来。用DOS启动盘引导你的系统,再用KV300的"KV300/K"命令,将前面备份的主引扇区恢复至你的硬盘。恢复后可以试着向硬盘传送系统,如果传送成功,且硬盘能够引导,说明故障排除。
把硬盘取下来作为从盘挂到其它机器中,运行最新版的Norton Disk Doctor 或其它硬盘修复工具,也能查找丢失的扩展分区。
使用KV300的F10功能来重建硬盘分区表,该功能能够自动查找硬盘的扩展分区表,并把它链回到主引导扇区中,从而恢复D、E、等分区,不过,该方法在某些时候可能无效,恢复出来的分区并不一定正确。 对于C分区无法恢复。
被误删除的文件恢复方案
除了这些病毒,坏道等引起的文件丢失,还有可能就是我们自己不小心删除了有用的文件,下面笔者就讲讲如何使用工具软件恢复误删除的文件。
Recover4All工具软件来恢复
R4A适用于WIN 95/98,支持FAT12、FAT16、FAT32系统,并且还能恢复软盘上的文件。
打开R4A,在工具栏会有Recover按钮及盘符按钮,如果你想恢复C盘上的文件,只需点击"C:"按钮,R4A会在短短的几秒中内帮你搜索出已经删除的文件,并将找到的已删除文件显示在窗口,同时列出文件尺寸、复原的可能性、开始的簇。其中黄色文件夹表示正常存放在硬盘上的文件夹,绿色文件夹表示已经该文件夹已被删除,而淡绿色的是被删除了的文件。找到须要恢复的被误删除的文件,然后点击Recover按钮,出现目的目录界面,选择好保存文件的目录,点击确定,恢复后的文件即自动保存到该目录里。这里有一点需要注意,在用R4A恢复文件时,不能将恢复文件保存到和被删除文件的同一分区内,如果你的硬盘只有一个C盘分区,那么你只能将文件保存到软盘中,或者用另一个硬盘做目的盘。
RecoverNT则是专用在WIN95/98/NT下恢复误删除的文件和子目录的工具,也可以恢复被Format和Fdisk的磁盘,Recover NT支持TCP/IP网络,甚至可以恢复局域网中的客户机上的文件。
|-page-|
首先选择驱动器让RecoverNT扫描,点击Open出现Select Drive(选定驱动器)对话框,选择好磁盘后,开始扫描。然后在扫描的结果中找到自己需要恢复的文件,然后点击右键,出现三个选项:View as Hex(以16进制格式查看)、View as Text(以文本格式查看)、Save(保存)。通常可选择保存来进行文件的恢复,在出现的保存界面中选择目标文件夹,点击确定后,系统即自动将文件恢复并保存到你所指定的这个目录里。 不过该软件是全英文的下面笔者翻译其中重要的英文。
Basic Root Dir(基本根目录)、
Searched Root Dir(被搜索出的根目录)、
Garbage Dir(已删除目录)、
Total Dir(全部目录),
All Files(所有文件,只适用于NTFS)
Original Root Directory (原始根目录)、
Normal Directory(普通目录)、
Garbage Root Directory (已删除的根目录)、
Garbage Directory (已删除的目录)、
Renamed Garbage Directory(更改名称的已删除目录)、
Analyzed Garbage Directory (被分析过的已删除目录)、
File (文件)、
Error File (错误的文件)、
Warning File (警告文件)、
Deleted File (已删除的文件)、
Recovable File(可恢复的文件)、
Saved File (保存文件)。
REVIVAL是一个磁盘/文件修复程序。其功能主要有:
1、不需恢复根目录即能恢复子目录,条件是你必须把恢复后的文件保存到另一驱动器上。
2、如果意外格式化了硬盘,REVIVAL能帮助你恢复数据。
3、硬盘染上了病毒,丢失了分区表、引导扇区、FAT和根目录中的数据,REVIVAL同样能帮你恢复。
4、当你格式化了硬盘,重新安装了WINDOWS95,却发现忘记备份一些必须的文件,REVIVAL可帮助你恢复这些文件,因为这些文件仍保留在
硬盘上的某个位置上。防病毒软件及文件系统修复软件有很多。但这些软件大都不能修复被完全损坏的磁盘。只能跟踪分区表及引导记录,修复部分损坏的文件及目录。而REVIVAL能够搜索整个磁盘上的数据区,并能修复丢失的文件及完全损坏了的目录。现将它的使用方法介绍如下,你会体会到它的神奇之处。
|-page-|
正确安装之后运行该软件,会弹出主界面,在进行扫描磁盘之前,窗口为一片空白。选择FILE/OPEN DRIVE。出现选择驱动器窗口,点其中的软驱A或硬盘C,再按SELECT选定。于是出现SCAN DISK窗口,即开始扫描硬盘或软盘,扫描过程中该窗口显示扫描进度,以CLUSTER/TOTAL来表示。扫描结束之后,分析磁盘目录结构,最后窗口中出现磁盘上所有的文件夹目录。其中,被删除的文件夹用99310之类的数字表示。
如要恢复某一文件夹中的某一文件,首先双击该文件夹,进入该文件夹之后选定要恢复的文件,然后选择FILE/SAVE,出现SAVE窗口,如果要恢复的文件放在硬盘上,则需在该窗口中的DRIVE中选A,即被恢复的文件将存放到软盘上。反之,如要恢复的文件是在软盘上,则DRIVE选项应选择C,最后点OK,被恢复的文件即被保存到另一磁盘上了。
REVIVAL的使用方法与WINDOWS95的资源管理器很相似。在目录上双击鼠标右键可改变目录名。双击文件名可执行该文件。在一文件名上按鼠标右键可用内置的文本或HEX阅览器看此文件。
另外要修复丢失或删除的文件,必须在EDIT菜单中的BASIC ROOT DIR、SEARCH ROOTDIR、GARBAGE DIR或TOTAL DIR中进行搜索,最后必须把文件保存到另一磁盘上。当你快速格式化硬盘时,文件分配表和根目录上的数据均要丢失。所以,使用REVIVAL不能修复根目录里的文件,只能修复子目录里的文件。这是因为子目录中的数据保存在磁盘的数据区内,REVIVAL扫描磁盘的数据区故能找到其中的数据。
REVIVAL支持FAT、FAT32及NTFS。FAT和FAT32之间的接口相同,而FAT和NTFS之间的接口却不同,因为它们的内部文件系统不一样。对于NTFS、REVIVAL不支持EDIT中的SEARCHROOT DIR、GARBAGE DIR和TOTAL DIR。对于FAT,REVIVAL不支持ALL FILES。需要该软件的朋友可从http://OURWORLD.COMPUSERVE.COM/HOME
⑷ sql数据库删除了怎么恢复数据
sql
server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1.
至少有一个误删除之前的数据库完全备份。
2.
数据库的恢复模式(recovery
mode)是“完整(full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过sql语句只需三步就能恢复(参考文章),无需借助第三方工具。
a)
备份当前数据库的事务日志:backup
log
[数据库名]
to
disk=
n'备份文件名'
with
norecovery
b)
恢复一个误删除之前的完全备份:restore
database
[数据库名]
from
disk
=
n'完全备份文件名'
with
norecovery,
replace
c)
将数据库恢复至误删除之前的时间点:restore
log
[数据库]
from
disk
=
n'第一步的日志备份文件名'
with
stopat
=
n'误删除之前的时间点'
,
recovery
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是log
explorer
for
sql
server,不支持sql
server
2008。
后来找的是sql
log
rescue,也不支持sql
server
2008。
接着找到的是systools
sql
recovery,支持sql
server
2008,但需要购买,demo版并没有数据恢复功能。
最终在officerecovery.com上找到recovery
for
sql
server,虽然也是商业软件,需要购买,但demo版可以恢复数据,只要数据库文件不超过24gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
下面分享一下用recovery
for
sql
server进行恢复的操作步骤:
1.
运行recovery
for
sql
server
2.
点击菜单中的
file
>
recover,选择要恢复的数据库的数据文件(.mdf)
3.
next
>
next,进入
recovery
configuration
界面,选择custom(选择了custom才可以选择从日志中恢复误删除的数据)。
4.
next
进入
recovery
options
窗口,选中
search
for
deleted
records,并选择要恢复的数据库的日志文件路径(log
file
path)。
5.
next
并选择目标文件夹(destination
folder),用于存放恢复过程中生成的sql语句与bat文件。
6.
点击start,开始恢复操作(在上一步选择的目标文件夹中生成相应的sql文件与bat文件),然后,出现
sql
server
database
creation
utility
窗口。
7.
next,选择被恢复数据存放的目标数据库。
8.
next,
选择
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然后就完成数据的恢复!
⑸ MySQL使用delete把表中的数据删除了,请问怎么恢复
MySQL开启binlog后,写入操作都会记录到二进制日志里,可以使用mysqlbinlog查看/导出/恢复数据.
假设你之前进行了
mysqlmp全量备份,和binlog增量备份(在mysqlmp全量备份时使用参数--flush-logs清除全量备份前的binlog).
先恢复之前用mysqlmp进行的全量备份,然后用
mysqlbinlog进行时间点还原:
?
1
2
mysql
-uroot
-prootpwd
db_name
<
db_name.sql
mysqlbinlog
--stop-datetime="2013-10-12
12:30:00"
/var/log/mysql/mysql-bin.000001
|
mysql
-uroot
-prootpwd
这里假设你的误操作发生在
2013-10-12
12:30:00之后.
如果你既没有进行mysqlmp全量备份,也没有开启binlog安全日志,那真的就悲剧了.
⑹ MS SQL 2008 用delete命令删除的数据怎样恢复
如果数据库的恢复模式(Recovery
mode)是“完整(Full)”模式的(必须的),找个日志工具(如LogExplorer...随便搜搜很多)即可从事务日志从恢复
⑺ sql中如何恢复用delete删除的记录
一、DELETE 语句:
DELETE 语句用于删除表中的行。
语法
DELETEFROM表名称WHERE列名称=值
二、删除某行
"Fred Wilson" 会被删除:
DELETEFROMPersonWHERELastName='Wilson'
三、删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETEFROMtable_name
或者
DELETE*FROMtable_name
⑻ T-sql中的DELETE语句删除后怎么恢复数据
删除以后就彻底没了。所以一般情况下并不删,只是把要删的数据保存在另一个
表里
,查的时候查不到,但误删的时候还能还原回来
⑼ sql2000执行了DELETE表中的数据删除语句 可以恢复吗
1:delete删除内容不删除定义,不释放空间
delete
from
表名
where
条件
--按条件删除数据
delete
from
表名
--删除全部数据
2:删除内容、释放空间但不删除定义
truncate
table
表名
--清空数据,保留表结构
3:删除内容和定义,释放空间
drop
table
表名
--表结构包括数据一起删除
注:truncate
比
delete速度快,且使用的系统和事务日志资源少。