在维护数据库时,难免会因为脚本编写错误而误更新了数据,此时可能备份数据库是前一天的,根据数据库备份文件还原就只能还原到前一天,会丢失当天的数据,因此需要能够按照指定时间还原数据库。

sqlserver事务日志提供了数据还原到指定时间点的功能,前提是事务日志是完整的


操作如下:

--数据库离线,断开其他所有连接
ALTER DATABASE [mcet] SET OFFLINE WITH ROLLBACK IMMEDIATE
--首先还原完整数据库,误操作之前的数据库备份
RESTORE DATABASE [mcet] FROM DISK='D:\MCEUSA201805210756.bak' WITH REPLACE,NORECOVERY

--备份事务日志
--E:\mceusa20180522log.bak

--将数据库还原到指定时间点
RESTORE LOG [mcet] FROM DISK='E:\mceusa20180522log.bak' WITH RECOVERY,STOPAT=N'9/9/2017 5:40:00 PM'

--开启数据库连接
ALTER database [mcet] set online

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐