SQL Server 2017智能备份

举报
GaussDB数据库 发表于 2019/02/25 10:33:05 2019/02/25
【摘要】 SQL Server 包括三种备份模式如下: 全量备份 BACKUP DATABASE [demo] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\demo.bak' WITH NOFORMAT, NOINIT, NAME = N'demo-Full Da...

SQL Server 包括三种备份模式如下:

  • 全量备份

    BACKUP DATABASE [demo] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\demo.bak' WITH NOFORMAT, NOINIT, NAME = N'demo-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

  • 增量备份

    BACKUP DATABASE [demo] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\demo_diff.bak' WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'demo-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

  • 日志备份

BACKUP LOG [demo] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\demo_log.bak' WITH NOFORMAT, NOINIT, NAME = N'demo-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

一般来说,我们为数据库设置备份策略采用如下两种模式:

  1. 每周一次全备,每天一次增备,每x小时一次日志备份

  2. 每天一次全备,每4x小时一次增备,每x小时一次日志备份

    从上面的备份时间调度来看,是固定无弹性的,特别是对于增量备份,我们只能大概根据业务情况评估数据的变化来设定差异备份的周期。有没可能知道自上次全量备份以后,截止当前数据页变化多少,从而动态设置差异备份的时间;另外,很多时候,差异备份所耗费的时间几乎和全备一样,如果还未到下一次全量备份,期间每一次差异备份都是时间和性能的消耗。

       SQL Server 2017 在系统视图 “sys.dm_db_file_space_usage”里引入了一个新的列 “modified_extent_page_count”来追踪自上次全备以来,有多少数据扩展区页被修改, 通过关联“total_page_count”列可知道数据页有多少百分比已经被修改,从而动态的决策是否需要全备还是差异备份,达到“智能”的目的。

       目前,华为云已经上线SQL Server 2017版, 支持经典的AlwaysOn高可用,支持只读副本,同时满足读写分离需求,欢迎体验!

 

想了解更多精彩内容 ,请扫码关注【HW云数据库】

数据库公众号二维码.jpg

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。