系统中有一个数据库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'

解决方案 »

  1.   

    用日志文件进行时间点恢复,将会失去此时间点之后的所有数据库改变example:
    首先对数据库进行日志备份查询分析器里
    1.use northwind
     insert employees(lastname,firstname) values('aaa','bf')
     记下这时的时间2.过3分钟输入
     use northwind
     insert employees(lastname,firstname) values('bbb','cd')3.此时select * from employees 将能看到这两条记录4.进行日志备份,选中northwind数据库,所有任务,backup database
     在对话框中,选择事务日志备份为备份类型,选择已有的备份设备,和追加到媒体
     单击ok进行备份.这样生成了两个新纪录的日志备份5.以下演示恢复
     所有任务 restore  database
     对话框中选择时点还原,输入刚才记录的时间,单击ok恢复6.执行select * from employees ,此时只能看到第一个新插入的记录