积极答复者
企业数据库坏,急求!sql server表被清空,有日志文件,请问如何恢复?

问题
答案
-
对应步骤供参考的SQL 语句
--1. 备份现在的日志 backup log xx to disk = 'c:\xx.bak' with copy_only -- 2. 还原完全备份 restore database xx_restore from disk = 'c:\xx_完全备份.bak' with norecovery -- 3. 日志时间点还原 restore log xx from disk = 'c:\xx.bak' with STOPAT='2013-05-21 17:56:46.880'
- 已建议为答案 Steven.桦仔 2013年5月23日 3:43
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2013年5月29日 2:42
全部回复
-
确认你的数据库恢复模型是否是 sijple(简单模型), 如果是的话, 那么无法通过日志还原到时间点解决
如果恢复模型不是 simple 的话, 那么可以通过日志的时间点还原搞定
首先对你目前的数据库做日志备份, 为了避免对正常备份序列产生影响, 你可以考虑备份的语句加 COPY_ONLY 选项
然后找台机器还原你的完整备份 (同一台机器也行, 但注意修改数据库名和文件位置, 不要把现在的库给覆盖了), 注意还原的选项指定 NORECOVERY (使数据库处于还原状态, 以后做后面的日志还原)
最后基于步骤2作日志还原, 还原的文件为步骤1的日志备份文件, 还原的选项指定 STOPAT = '删除表之前的一个时间点'
-
对应步骤供参考的SQL 语句
--1. 备份现在的日志 backup log xx to disk = 'c:\xx.bak' with copy_only -- 2. 还原完全备份 restore database xx_restore from disk = 'c:\xx_完全备份.bak' with norecovery -- 3. 日志时间点还原 restore log xx from disk = 'c:\xx.bak' with STOPAT='2013-05-21 17:56:46.880'
- 已建议为答案 Steven.桦仔 2013年5月23日 3:43
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2013年5月29日 2:42