打印本文 打印本文 关闭窗口 关闭窗口
数据库备份/恢复方案
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1954  更新时间:2009/4/22 23:22:23  文章录入:mintao  责任编辑:mintao
@active_start_time=@time     --下午17:00:00分执行

go

/*--应用案例--备份方案:
完整备份(每个星期天一次)+差异备份(每天备份一次)+日志备份(每2小时备份一次)

调用上面的存储过程来实现
--*/

declare @sql varchar(8000)
--完整备份(每个星期天一次)
set @sql='exec p_backupdb @dbname='要备份的数据库名''
exec p_createjob @jobname='每周备份',@sql,@freqtype='week'

--差异备份(每天备份一次)
set @sql='exec p_backupdb @dbname='要备份的数据库名',@bktype='DF'
exec p_createjob @jobname='每天差异备份',@sql,@freqtype='day'

--日志备份(每2小时备份一次)
set @sql='exec p_backupdb @dbname='要备份的数据库名',@bktype='LOG'
exec p_createjob @jobname='每2小时日志备份',@sql,@freqtype='day',@fsinterval=2

*--应用案例2

生产数据核心库:PRODUCE

备份方案如下:
 1.设置三个作业,分别对PRODUCE库进行每日备份,每周备份,每月备份
 2.新建三个新库,分别命名为:每日备份,每周备份,每月备份
 3.建立三个作业,分别把三个备份库还原到以上的三个新库。

目的:当用户在produce库中有任何的数据丢失时,均可以从上面的三个备份库中导入相应的TABLE数据。
--*/

declare @sql varchar(8000)

--1.建立每月备份和生成月备份数据库的作业,每月每1天下午16:40分进行:
set @sql='
declare @path nvarchar(260),@fname nvarchar(100)
set @fname='PRODUCE_'+convert(varchar(10),getdate(),112)+'_m.bak'
set @path=dbo.f_getdbpath(null)+@fname

--备份
exec p_backupdb @dbname='PRODUCE',@bkfname=@fname

--根据备份生成每月新库
exec p_RestoreDb @bkfile=@path,@dbname='PRODUCE_月'

--为周数据库恢复准备基础数据库
exec p_RestoreDb @bkfile=@path,@dbname='PRODUCE_周',@retype='DBNOR'

--为日数据库恢复准备基础数据库
exec p_RestoreDb @bkfile=@path,@dbname='PRODUCE_日',@retype='DBNOR'
'
exec p_createjob @jobname='每月备份',@sql,@freqtype='month',@time=164000

--2.建立每周差异备份和生成周备份数据库的作业,每周日下午17:00分进行:
set @sql='
declare @path nvarchar(260),@fname nvarchar(100)
set @fname='PRODUCE_'+convert(varchar(10),getdate(),112)+'_w.bak'
set @path=dbo.f_getdbpath(null)+@fname

--差异备份
exec p_backupdb @dbname='PRODUCE',@bkfname=@fname,@bktype='DF'

--差异恢复周数据库
exec p_backupdb @bkfile=@path,@dbname='PRODUCE_周',@retype='DF'
'
exec p_createjob @jobname='每周差异备份',@sql,@freqtype='week',@time=170000

--3.建立每日日志备份和生成日备份数据库的作业,每周日下午17:15分进行:
set @sql='
declare @path nvarchar(260),@fname nvarchar(100)
set @fname='PRODUCE_'+convert(varchar(10),getdate(),112)+'_l.bak'
set @path=dbo.f_getdbpath(null)+@fname

--日志备份
exec p_backupdb @dbname='PRODUCE',@bkfname=@fname,@bktype='LOG'

--日志恢复日数据库
exec p_backupdb @bkfile=@path,@dbname='PRODUCE_日',@retype='LOG'
'
exec p_createjob @jobname='每周差异备份',@sql,@freqtype='day',@time=171500

 

更多的信息参考我在CSDN上发表的贴子:

http://expert.csdn.net/Expert/topic/2359/2359124.xml?temp=.7861292

 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口