SQL Server 2017智能备份
【摘要】 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
一般来说,我们为数据库设置备份策略采用如下两种模式:
每周一次全备,每天一次增备,每x小时一次日志备份
每天一次全备,每4x小时一次增备,每x小时一次日志备份
从上面的备份时间调度来看,是固定无弹性的,特别是对于增量备份,我们只能大概根据业务情况评估数据的变化来设定差异备份的周期。有没可能知道自上次全量备份以后,截止当前数据页变化多少,从而动态设置差异备份的时间;另外,很多时候,差异备份所耗费的时间几乎和全备一样,如果还未到下一次全量备份,期间每一次差异备份都是时间和性能的消耗。
SQL Server 2017 在系统视图 “sys.dm_db_file_space_usage”里引入了一个新的列 “modified_extent_page_count”来追踪自上次全备以来,有多少数据扩展区页被修改, 通过关联“total_page_count”列可知道数据页有多少百分比已经被修改,从而动态的决策是否需要全备还是差异备份,达到“智能”的目的。
目前,华为云已经上线SQL Server 2017版, 支持经典的AlwaysOn高可用,支持只读副本,同时满足读写分离需求,欢迎体验!
想了解更多精彩内容 ,请扫码关注【HW云数据库】
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)