按照时间点还原数据库(SQL Server)
2009-10-31 18:28
127 查看
今天搞的非常郁闷,公司有个MM不小心误操作了一把,数据库中的其中一个数据明细表给删除了,更倒霉的是查看备份文件时,看到自动备份的最后文件竟然是2天前的,要吐血了,一看原因,这个MM竟然说2天前服务器重启动了一下,SQL Server Agent没有设置成自动启动,也没有手工启动,真是无语呀,差点酿成大祸,这可是客户的生产数据库呀,
,马上搜索记忆,以前在微软培训的时候知道可以根据日志文件按照时间点来还原数据库的数据,有点像windows的系统还原功能,呵呵,但是以前一直都没有实践操作过,赶紧上微软网站查找资料,找到后立马操作一把,还真是不负期望还原回去了,特发贴共享一下,给同样经历的朋友们一个参考吧。
特别提醒:在操作前记得把数据库备份一下。
注:我的最后备份文件是20091029的15点,刚好差距是2天时间。
第一步:备份日志文件,以备还原使用,代码如下:
BACKUP LOG 数据库名 TO DISK='备份文件存放路径(如:D:\test.log)' WITH INIT
第二步:恢复备份的最后一个数据文件备份,记得写上WITH NORECOVERY,如果是在管理工具中操作还原数据库的话,请在[还原数据库]->[选项]->[恢复完成状态]下选择[是数据库不再运行,但能还原其它事务日志]选项,再确定,还原时数据库可以重命名,代码操作如下:
RESTORE DATABASE test_bak from disk='F:\databak\test_db_200910291500.BAK' WITH NORECOVERY
第三步:根据日志文件指定恢复的时间点数据,如下:
RESTORE LOG sms_01_bak FROM disk='f:\sms_01.logs' WITH RECOVERY,STOPAT='10/31/2009 15:40'
运行完成后,把数据库设置成可运行状态,查询数据,OK,全部都在,高兴啊~~~~~~
如果感觉日志文件太大了,可以清空日志信息,记得把刚才备份的日志文件保存好,
清空日志:
DUMP TRANSACTION sms_01 WITH NO_LOG
,马上搜索记忆,以前在微软培训的时候知道可以根据日志文件按照时间点来还原数据库的数据,有点像windows的系统还原功能,呵呵,但是以前一直都没有实践操作过,赶紧上微软网站查找资料,找到后立马操作一把,还真是不负期望还原回去了,特发贴共享一下,给同样经历的朋友们一个参考吧。
特别提醒:在操作前记得把数据库备份一下。
注:我的最后备份文件是20091029的15点,刚好差距是2天时间。
第一步:备份日志文件,以备还原使用,代码如下:
BACKUP LOG 数据库名 TO DISK='备份文件存放路径(如:D:\test.log)' WITH INIT
第二步:恢复备份的最后一个数据文件备份,记得写上WITH NORECOVERY,如果是在管理工具中操作还原数据库的话,请在[还原数据库]->[选项]->[恢复完成状态]下选择[是数据库不再运行,但能还原其它事务日志]选项,再确定,还原时数据库可以重命名,代码操作如下:
RESTORE DATABASE test_bak from disk='F:\databak\test_db_200910291500.BAK' WITH NORECOVERY
第三步:根据日志文件指定恢复的时间点数据,如下:
RESTORE LOG sms_01_bak FROM disk='f:\sms_01.logs' WITH RECOVERY,STOPAT='10/31/2009 15:40'
运行完成后,把数据库设置成可运行状态,查询数据,OK,全部都在,高兴啊~~~~~~
如果感觉日志文件太大了,可以清空日志信息,记得把刚才备份的日志文件保存好,
清空日志:
DUMP TRANSACTION sms_01 WITH NO_LOG
相关文章推荐
- 自动备份和还原数据库(sql server 2005以上版本)
- SQL Server 备份与恢复之八:还原数据库
- sql server 附加数据库和还原数据库
- Asp.Net 备份和还原SQL SERVER 数据库
- 还原sql server 数据库
- SQL server 2008数据库的备份与还原
- 【SQL Server备份恢复】数据库还原
- sql server还原数据库文件(.bak)常见问题解决办法笔记
- SQL Server如何提高数据库还原的速度
- [Database] SqlServer: Sql Server 2005 数据库备份还原后出现“受限制用户”问题的解决
- sql server还原数据库出错 备份集中的数据库与现有数据库“XXX”数据库不同
- Sql Server还原数据库失败,错误:3514(注意解决错误码是3514的)
- Sql Server 2008/2005 数据库还原出现 3154错误(转)
- 还原 SQL Server 备份数据库文件
- SQL SERVER 2005 使用命令备份数据库的方法(还原)
- SQL Server 远程备份还原数据库
- SQL Server 2005 还原数据库错误:System.Data.SqlClient.SqlError: 在对 'd:\Program Files\Microsoft SQL Serv
- 用数据库备份文件来还原Sql Server 2005中的数据库
- SQL Server 数据库备份还原和数据恢复
- 绿色SQL Server原理(9)还原数据库