zoukankan      html  css  js  c++  java
  • sqlserver完整差异备份还原

    Sql server  的完整备份和差异备份

    完整备份当然就是将数据库的数据全部备份

    而差异备份指得是将上一次备份后到现在对数据的修改进行备份.

    因此差异备份不能单独使用,只能先还原上一次的完整备份后,才能还原差异备份,

    当有多个差异备份时,只需要选择指定日期的差异备份文件即可,不需要逐个还原在此期间的差异备份.

    步骤为:

    1、在需要还原的数据库上右键选择如图

    image

    2、在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原”选项的勾

    image

    3、在“选项”页面中,勾选上“覆盖现有数据库”,恢复状态,选择第一个“回滚未提交的事务。。。。”,其中在“行数据”和“日志”两个数据行中,务必查看“还原为”的路径是否指向了你需要还原的数据库名字 dbname.mdf和dbname_log.ldf,因为有些被还原的数据库名字和.bak备份文件中的名字不一样,导致还原失败。

    image

    4、点击确定后还原成功

    当数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候,数据库的差异备份自然就成为考虑的备份方案之一。

    SQLSERVER2008的差异备份存在两种备份方式:

    1. 先做一个完整备份,然后再做差异备份,差异备份的文件还是使用完整备份的那个文件,这样在完整备份集中就会存在两个

       备份文件。还原的时候,都选中这个差异文件,还原选项选择“覆盖现有数据库”和“回滚未提交的事务......”这两项即可

    2. 先做一个完整备份,然后再做一个差异备份,差异备份的文件不使用完整备份的那个文件,自己再新建一个差异备份文件。

      这样磁盘上针对这两次备份就会存在两个备份文件。还原这两个备份文件时,先选择完整备份的文件,还原选项里选择

    “覆盖现有数据库”和“不对数据库执行任何操作....” 完成还原后,会发现被还原的数据库名呈现“DBName(正在还原...)”

      针对这个数据库再进行一次还原,选择差异备份文件后,直接点确定即可。

    步骤截图:

    1、首先如下图对数据库做一个完全备份后再做差异备份

    image

    2、进行差异还原的时候首选选择上图中_完全.bak文件进行还原,此时DB会显示 dbname(正在还原…)

    image

    image

    image

    3、在上图(正在还原…)的DB名字上,右键-》任务-》还原-》数据库,选择如上图的“源设备”选项,选择_差异2.bak,勾上还原

    在“选项”页面做如下选择

    image

    点击确定后,差异还原成功执行。

    注意:我们是直接选择的_差异2.bak进行的还原,这样的话也会将_差异1.bak中的数据还原到数据库中,因为_差异2.bak是从_差异1.bak上进行差异备份的。

    From:http://www.cnblogs.com/ivanyb/archive/2013/01/23/2873437.html

  • 相关阅读:
    CentOS7升级系统内核
    ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)
    Android Studio小技巧
    ASP.NET 预编译笔记
    EnyimMemcached(64位)使用实例
    SQL Server Profiler小技巧——筛选请求
    [疑难杂症]解决实际开发中各种问题bug
    [整理]EF6.X更新了什么(版本历史中文版)
    史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~
    微信开发调试小工具进化→微信用户发送信息模拟器发布!——这标题起真是好数码暴龙的说
  • 原文地址:https://www.cnblogs.com/tylerflyn/p/8051398.html
Copyright © 2011-2022 走看看