可以通过定时作业设置调度执行的数据库增量/全量备份吗

【问题描述】

是否可以通过设置 job 来实现定期数据库备份。

【问题原因】

该操作没有特定触发原因,属于日常运维中希望实现备份自动化、减少人工干预的常规需求。

【问题解决】

可以通过设置 job 来备份。

全备 - 图形界面创建方法:

点击【作业-新建作业】,作业步骤点击【添加】,步骤类型选择【备份数据库】,填写备份路径,备份方式选择【完全备份】。作业调度新建调度,填写调度名称,选择调度类型为【反复执行】,频率选择每 1 周的星期日,执行一次,执行时间为【23:00:00】。

增量备份 - 图形界面创建方法:

新建作业,作业步骤新建步骤,步骤类型选择【备份数据库】,备份方式选择增量备份,增量备份需要指定基备份目录(其中需要有完全备份)。作业调度新建调度填写名称,调度类型选择【反复执行】,频率选择每 1 周的周一到周六,每天执行 1 次,执行时间为【23:00:00】。

SQL 创建方法:

周日全备:

call SP_CREATE_JOB('backupfull',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('backupfull');
call SP_ADD_JOB_STEP('backupfull', 'step', 5, '01000/d07', 1, 2,  0, 0, NULL, 0);  
call SP_ADD_JOB_SCHEDULE('backupfull', 'schedule', 1, 2, 1, 1, 0,  '23:00:00', NULL, '2020-02-11 22:18:19', NULL, '');
call SP_JOB_CONFIG_COMMIT('backupfull');

周一至周六增备:

call SP_CREATE_JOB('backupinc',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('backupinc');
call SP_ADD_JOB_STEP('backupinc', 'step', 5, '11000/d07|/d07', 1,  2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('backupinc', 'schedule', 1, 2, 1, 126,  0, '23:00:00', NULL, '2020-02-11 22:28:44', NULL, '');
call SP_JOB_CONFIG_COMMIT('backupinc');