SQLServer的差异备份还原
在SQL Server中还原差异备份,需要先还原在差异备份时间点之前的⼀个完整备份,在还原完整备份时要加上NORECOVERY参数,⽰例SQL语句如下:
RESTORE DATABASE[数据库名称]
FROM DISK= N'完整备份⽂件路径'
WITH FILE=1,
NOUNLOAD,
STATS =10,
NORECOVERY
sqlserver备份表语句GO
在Management Studio中对应的选项是:
Leave the database non-operational, and do not roll back uncommitted transactions. Additional transaction logs can be
restored. (RESTORE WITH NORECOVERY)
如果没有加上NORECOVERY参数,默认是RECOVERY,则:
在SQL Server 2012 Management Studio中通过窗⼝操作会出现错误提⽰:Unable to create restore plan due to break in the LSN chain.
在SQL Server 2008/2012 Management Studio中执⾏SQL语句会出现错误提⽰:The log or differential backup cannot be restored because no files are ready to rollforward.
(抱怨:提⽰信息容易误导⼈)
还原差异备份时,如果只有⼀个差异备份⽂件需要还原,⽆需使⽤NORECOVERY参数,⽰例SQL语句如下:
RESTORE DATABASE[数据库名称]
FROM DISK= N'差异备份⽂件路径'
WITH FILE=1,
NOUNLOAD,
STATS =10
GO
如果有多个差异备份⽂件需要还原,除了最后⼀个差异备份⽂件,其他都需要加上NORECOVERY参数。
【参考资料】
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论