SQL Server 2017智能备份

举报
GaussDB数据库 发表于 2019/02/25 10:33:05 2019/02/25
5.5k+ 0 0
【摘要】 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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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