设为首页 收藏本站
查看: 437|回复: 0

[经验分享] 你真的会使用SQL Server的备份还原功能吗?之二:主要备份类型

[复制链接]

尚未签到

发表于 2016-11-8 11:17:44 | 显示全部楼层 |阅读模式
  假设在下面几个时间段中,一个数据库积累插入了如下数据:
DSC0000.png

1.完整数据库备份
  故名思意,完整数据库备份包括完整的数据库信息。它包括数据库的数据文件和备份结尾的部份活动事务日志。
DSC0001.png

  完整备份基本语法如下:
  BACKUP DATABASE AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak'
2.差异性数据库备份
  差异性数据库备份包括自从上一次完整性备份以来所有改变的数据页,以及备份结尾的部份活动事务日志。
DSC0002.png

  差异备份和完整备份的语法很相似,唯一不同的是加上了DIFFERENTIAL选项,如下:
  BACKUP DATABASE AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak' WITH DIFFERENTIAL
3.事务日志备份
  事务日志备份的内容是从还未被备份的事务日志开始,直到备份结尾的最后一个事务日志为止。需要注意的是执行事务日志的前提是你的数据库恢复模型必须是完整恢复模型或是批量日志恢复模型(恢复模型)
DSC0003.png

  通常情况下大家会以为完整性备份会截断事务日志,以便下一次备份日志时不再重复备份,但这是错误的。完整备份不会截断事务日志。
DSC0004.png

  事务日志备份的语法和完整备份相似,唯一不同的是第二个关键字,把database换成log,如下:
  BACKUP LOG AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak'
4.你应该选择哪种备份类型呢?
  答案取决于你本身,取决你的备灾恢复需求,取决于你可以接受的丢失数据量的多少,取决于你日常数据库的备份操作,取决于数据库从灾难中恢复过来的时间。
  假如你的环境允许丢失5分钟的数据,那么你必须每5分钟执行一次某种备份。对于上述的几种备份来说,每5分钟执行一次完整备份的规则显得过于频繁且影响其他用户的操作。对于差异备份来说,如果一次完整备份后,数据库又进行了大量的修改,那么差异备份同样不适合。所以,上述情况用事务日志备份应该是最合适的,因为它仅备份从最后一次事务日志备份后所产生的新事务。
  然而,当你从事务日志恢复数据库时,你需要还原所有相关的备份,包括从起始的数据库备份点到最后一个事务日志。假如还原点是很久以前的时间点,那么要还原的事务日志也许会很多很多。
DSC0005.png

  你可以使用差异备份来提前事务日志备份的起始还原点。但是,对于一个行动的数据来说,差异备份会比事务日志备份占用更长的时间,影响更多的数据库操作和消耗更多的磁盘空间。
DSC0006.png

  当你考虑使用哪种备份方案时,你可以参考下面这几点:

  • 你能接受丢失多少数据?
  • 备份会影响数据库日常操作吗?
  • 是否有一个高可用的维护计划来执行备份操作?
  • 你能接受的恢复时间是多少?
  • 是否需要具有恢复某一时间点的功能?这种情况下,事务日志备份是必须的。
  • 是否有足够的存储空间来保存备份文件?
  • 是否有一套高可用性的解决来完成备灾恢复计划?比如:群集, loggshipping, 数据库镜像等等
  本文翻译自sqlbackuprestore,更多精彩内容请浏览http://www.sqlbackuprestore.com

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-297397-1-1.html 上篇帖子: SQL Server 存储过程-阿拉伯数字转换成中文大写金额<转> 下篇帖子: SQL Server 触发器:表的特定字段更新时,触发Update触发器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表