博客
关于我
SQL Server 备份和还原全攻略, 完全备份,差异备份,增量备份,事务日志备份【入门】
阅读量:648 次
发布时间:2019-03-15

本文共 1532 字,大约阅读时间需要 5 分钟。

SQL Server 备份与还原指南

知识点

完全备份

完全备份是将所有选中文件夹的当前状态备份,无论文件是否处于存档状态。备份完成后会清除文件的存档属性。

差异备份

差异备份仅备份自上次完全备份以来发生变化的文件。备份过程不清除文件的存档属性,意味着备份后的文件仍然保留存档属性。

增量备份

增量备份备份自上次备份(无论是完全备份、差异备份还是事务日志备份)以来发生变化的文件。与差异备份不同,增量备份会清除文件的存档属性。

事务日志备份

在进行事务日志备份之前,需要先执行一次数据库的完全备份。如果数据库的恢复模式设置为FULLbulk logged,才能进行事务日志备份。如果数据库设置为SIMPLE恢复模式,无法使用事务日志备份。

部分备份

部分备份是指定文件组进行备份。仅在恢复模式为SIMPLE的情况下,才能对只读文件组执行文件组备份。还原时需要确保日志备份序列从数据库备份或部分备份的结尾开始。

文件备份

文件备份是指对指定的文件或文件组中的所有内容进行备份,不依赖文件的存档属性。

日志链

日志链是指连续的日志备份序列。一旦在恢复模式从SIMPLE切换到FULLbulk logged,就会开始一个新的日志链。还原时,可以从任何一个完整数据库备份开始还原,加上该日志链中的后续日志备份。

背景示例

某站点在星期天晚上执行完全备份。每天白天每隔4小时执行一次事务日志备份。每晚进行差异备份。假设某天某数据磁盘在上午9:12出现故障时,应采取以下还原步骤:

  • 备份当前事务日志。
  • 还原从星期天晚上的完全备份。
  • 还原从星期三晚上的差异备份,将数据库前滚到星期三晚上。
  • 还原从早上4点到8点的事务日志备份,将数据库前滚到早上8点。
  • 还原故障后的日志备份,将数据库前滚到故障发生的时间。
  • 还原步骤

    测试环境准备

    TestBackup数据库中:

  • 创建表Table1,执行一次完全备份TestBackupDB-full.bak
  • 创建表Table2,执行一次差异备份TestBackupDB-diff.bak
  • 创建表Table3,执行一次事务日志备份TestBackupDB-log.bak(依据数据库恢复模式判断是否可用)。
  • 创建TestBackup2数据库用于还原测试。

    还原说明

  • 完全备份还原

    使用RESTORE WITH NORECOVERY选项还原TestBackupDB-full.bak。还原完成后,数据库状态如图6所示。

  • 差异备份还原

    使用同样的方法还原TestBackupDB-diff.bak。还原完成后,数据库状态仍与完整备份相同。

  • 事务日志备份还原

    使用RESTORE WITH RECOVERY选项还原TestBackupDB-log.bak。还原完成后,TestBackup2数据库状态如图9所示。

  • 还原示例

    -- 还原完整备份RESTORE DATABASE Test FROM DISK='G:\Test.bak' WITH REPLACE, NORECOVERY-- 还原差异备份RESTORE DATABASE Test FROM DISK='G:\Test_Two_Dif.bak' WITH RECOVERYGO

    注意事项

    • 在进行事务日志备份还原时,必须确保恢复状态为RECOVERY
    • 如果数据库设置为SIMPLE恢复模式,事务日志备份不可用。

    升级

    格式扩展

    实际应用中,除mdfldf文件外,可能还有多个ndf文件。还原操作可以通过修改目标文件名为这些额外文件来完成。

    解决段故

    在创建分区文件组和文件时,可能会出现如图10所示的错误。解决方法包括:

  • 重启数据库服务。
  • 将数据库的访问限制设置为SINGLE
  • 转载地址:http://vujmz.baihongyu.com/

    你可能感兴趣的文章
    缓冲区溢出实例(一)--Windows
    查看>>
    Hadoop学习笔记—Yarn
    查看>>
    Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
    查看>>
    wxWidgets源码分析(3) - 消息映射表
    查看>>
    wxWidgets源码分析(5) - 窗口管理
    查看>>
    wxWidgets源码分析(8) - MVC架构
    查看>>
    wxWidgets源码分析(9) - wxString
    查看>>
    [梁山好汉说IT] 梁山好汉和抢劫银行
    查看>>
    [源码解析] 消息队列 Kombu 之 基本架构
    查看>>
    [源码分析] 消息队列 Kombu 之 启动过程
    查看>>
    wx.NET CLI wrapper for wxWidgets
    查看>>
    Silverlight for linux 和 DLR(Dynamic Language Runtime)
    查看>>
    ASP.NET MVC Action Filters
    查看>>
    Powershell中禁止执行脚本解决办法
    查看>>
    OO_Unit2 多线程电梯总结
    查看>>
    git clone 出现fatal: unable to access ‘https://github 错误解决方法
    查看>>
    04_Mysql配置文件(重要参数)
    查看>>
    python 加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
    查看>>
    JavaSE总结
    查看>>
    手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc
    查看>>