数据库恢复

来源:互联网 发布:java字符串拼接方法 编辑:程序博客网 时间:2024/04/27 23:45

如果对某记录进行误删除的话,可以用一个软件,Log Explorer,前提有一个,必须故障还原模式是完全!
下面是对该软件的介绍:
  

http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解压缩密码 www.heibai.net


注册机产生的是注册码,是两个

用解压缩密码解开后,压缩包里也有一个注册机的
打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以了

例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....


系统中有一个数据库DB1,系统正在使用的过程中,不小心删除了某表T1的数据
现我可以按照用完整备份文件加日志备份时间点TIME1恢复的方法来恢复该数据库

但问题出在该数据库一直还必须在使用中,所以除了你删除了数据的TA表外,其它的
表的数据你不能只是恢复到错误时间点TIME1处,因为,TIME1以后也有数据变化

解决这个问题有两个方法
1:用LOG EXEPLORE 可以轻松搞定

2:先建立一个数据库DB2,将完整备份文件恢复到DB2中,再用DB2中的T1数据来更新
   DB1中的T1数据即可.


--查看备份信息
RESTORE FILELISTONLY FROM DISK ='C:/Program Files/Microsoft SQL Server/MSSQL/BACKUP/db1_backup'

--还原旧的备份
RESTORE DATABASE db2 FROM DISK = 'C:/Program Files/Microsoft SQL Server/MSSQL/BACKUP/db1_backup' with replace,norecovery,
move 'db1_Data' to 'C:/Program Files/Microsoft SQL Server/MSSQL/data/db2_data.mdf',
move 'db1_Log' to 'C:/Program Files/Microsoft SQL Server/MSSQL/data/db2_log.ldf'

--还原数据日志到时间点
restore log  db2  from disk='db_log_backup'  with stopat='2003/4/22 9:57'


-----------------
log explorer使用的一个问题

1)对数据库做了完全 差异 和日志备份
备份时选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时
提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才的记录了


如果不选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,就能看到原来的日志

2)修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复

3)然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
否则会出现数据库正在使用无法恢复)
恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复. 

原创粉丝点击