怎么实现数据库的备份计划

371xingxiu 2004-09-29 05:48:40
要做一个备份计划 要求 24个小时一次完全备份, 2小时一次增量备份。12小时一次日志备份。请问怎么能作到。多谢
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
solidpanther 2004-09-29
  • 打赏
  • 举报
回复
收藏
cgsun 2004-09-29
  • 打赏
  • 举报
回复
在企業管理器管理里建資料庫維護計劃里可以建完全備風,和日誌備分.(EASY TO DO)
在企業管理器數據庫里所有工作里作差異備分,來後排JOB
netcoder 2004-09-29
  • 打赏
  • 举报
回复
/**
**数据库备份实例
**朱二 2004年5月
**备份策略:
**数据库名:test
**备份文件的路径e:\backup
**每个星期天凌晨1点做一次完全备份,为保险起见,备份到两个同样的完全备份文件test_full_A.bak和test_full_B.bak
**每天1点(除了星期天)做一次差异备份,分别备份到两个文件test_df_A.bak和test_df_B.bak(采用附加到原备份的方式)
**每一个小时做一次事务日志备份,分别备份到两个文件test_log_A.bak和test_log_B.bak(采用附加到原备份的方式)
**/

--第一 完全备份部分

--新增作业
EXEC sp_add_job @job_name = '完全备份'

--新增作业步骤1,把数据库备份到test_full_backup_A.bak
EXEC sp_add_jobstep @job_name = '完全备份',
@step_name = 'Setp1',
@subsystem = 'TSQL',
@command = 'BACKUP DATABASE Test TO DISK=''e:\backup\test_full_A.bak'' WITH INIT',
@on_fail_action=3, --失败后转到下一步
@on_success_action=3,-- 成功后转到下一步
@retry_attempts = 5,
@retry_interval = 5

--新增作业步骤2,把数据库备份到test_full_B.bak
EXEC sp_add_jobstep @job_name = '完全备份',
@step_name = 'Setp2',
@subsystem = 'TSQL',
@command = 'BACKUP DATABASE Test TO DISK=''e:\backup\test_full_B.bak'' WITH INIT',
@retry_attempts = 5,
@retry_interval = 5

--调度
EXEC sp_add_jobschedule @job_name = '完全备份',
@name = 'Schedule_1',
@freq_type = 8, -- 按周
@freq_interval = 1, --每星期天执行
@freq_recurrence_factor=1,
@active_start_time = 10000 --开始时间: 凌晨1点

--第二 差异备份部分

--新增作业
EXEC sp_add_job @job_name = '差异备份'

--新增作业步骤1,把数据库备份到test_df_A.bak
EXEC sp_add_jobstep @job_name = '差异备份',
@step_name = 'Setp1',
@subsystem = 'TSQL',
@command = 'BACKUP DATABASE Test TO DISK=''e:\backup\test_df_A.bak'' WITH DIFFERENTIAL',
@on_fail_action=3, --失败后转到下一步
@on_success_action=3,-- 成功后转到下一步
@retry_attempts = 5,
@retry_interval = 5

--新增作业步骤2,把数据库备份到test_df_B.bak
EXEC sp_add_jobstep @job_name = '差异备份',
@step_name = 'Setp2',
@subsystem = 'TSQL',
@command = 'BACKUP DATABASE Test TO DISK=''e:\backup\test_df_B.bak'' WITH DIFFERENTIAL',
@retry_attempts = 5,
@retry_interval = 5

--调度
EXEC sp_add_jobschedule @job_name = '差异备份',
@name = 'Schedule_1',
@freq_type = 8, -- 按周
@freq_interval = 126, --星期一至星期六
@freq_recurrence_factor=1,
@active_start_time = 10000 --开始时间: 凌晨1点


--第二 事务备份部分

--新增作业
EXEC sp_add_job @job_name = '事务备份'

--新增作业步骤1,把数据库备份到test_log_A.bak
EXEC sp_add_jobstep @job_name = '事务备份',
@step_name = 'Setp1',
@subsystem = 'TSQL',
@command = 'BACKUP LOG Test TO DISK=''e:\backup\test_log_A.bak''',
@on_fail_action=3, --失败后转到下一步
@on_success_action=3,-- 成功后转到下一步
@retry_attempts = 5,
@retry_interval = 5

--新增作业步骤2,把数据库备份到test_log_B.bak
EXEC sp_add_jobstep @job_name = '事务备份',
@step_name = 'Setp2',
@subsystem = 'TSQL',
@command = 'BACKUP LOG Test TO DISK=''e:\backup\test_log_B.bak''',
@retry_attempts = 5,
@retry_interval = 5

--调度
EXEC sp_add_jobschedule @job_name = '事务备份',
@name = 'Schedule_1',
@freq_type = 4, -- 按天
@freq_interval=1,--每一天
@freq_subday_type=8, --按小时
@freq_subday_interval=1 --每一个小时
yjdn 2004-09-29
  • 打赏
  • 举报
回复
建作业:
企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》
步骤页中新建步骤、输入名称、加入SQL语句:exec 你的存储过程

--在这里加入你备份的语句或过程


——》调度页中新建调度、输入名称,选择反复出现,更改时间——》OK

完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS时自动启动

再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧