+ -
当前位置:首页 → 问答吧 → sql server基于时间点的恢复失败!!

sql server基于时间点的恢复失败!!

时间:2011-12-12

来源:互联网

use master
RESTORE DATABASE [ilovemk2] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\ilovemk2.bak' WITH FILE = 1,NORECOVERY
RESTORE LOG [ilovemk2] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\ilovemk2.bak' WITH FILE = 2,NORECOVERY,STOPAT = N'2011-12-12T14:34:55'
RESTORE DATABASE ilovemk2 WITH RECOVERY; 
GO

第一句就失败了,提示如下:
消息 3159,级别 16,状态 1,第 2 行
尚未备份数据库 "ilovemk2" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。

问题是我根本不想做完全数据库恢复,我只想做时间点的恢复,这也要备份结尾日志吗?

作者: ilovemk   发布时间: 2011-12-12

是你说了算数,还是微软说了算数?

作者: qianjin036a   发布时间: 2011-12-12

备份结尾日志是为数据安全着想!

作者: mingpei0703   发布时间: 2011-12-12

作者: mingpei0703   发布时间: 2011-12-12

引用 3 楼 mingpei0703 的回复:

http://msdn.microsoft.com/zh-cn/library/ms179314.aspx

“并非所有还原方案都要求执行结尾日志备份。如果先前的日志备份中包含恢复点,或者您准备移动或替换(覆盖)数据库,并且在最新备份后不需要将该数据库恢复到某一时间点,则无需使用结尾日志备份。”

我之前的备份包含了恢复点啊,怎么非要备份结尾日志,比如我想要恢复数据库到昨天,你非要我备份今天的日志才能恢复,这个明显很不合理吧,因为恢复根本不用今天的日志!!

作者: ilovemk   发布时间: 2011-12-12