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 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云数据库】
- 点赞
- 收藏
- 关注作者
评论(0)