首页 > 数据库技术 > 详细

SQL Server的差异备份还原

时间:2014-02-09 15:41:02      阅读:628      评论:0      收藏:0      [点我收藏+]

在SQL Server中还原差异备份,需要先还原在差异备份时间点之前的一个完整备份,在还原完整备份时要加上NORECOVERY参数,示例SQL语句如下:

bubuko.com,布布扣
RESTORE DATABASE [数据库名称] 
FROM  DISK = N‘完整备份文件路径 
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10, 
NORECOVERY
GO
bubuko.com,布布扣

在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语句如下:

bubuko.com,布布扣
RESTORE DATABASE [数据库名称] 
FROM  DISK = N差异备份文件路径 
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10
GO
bubuko.com,布布扣

如果有多个差异备份文件需要还原,除了最后一个差异备份文件,其他都需要加上NORECOVERY参数。

【参考资料】

SQL Server 备份和还原全攻略

SQL Server的差异备份还原

原文:http://www.cnblogs.com/dudu/p/sql_server_differential_backup_restore.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!