T-SQL语句实现数据库备份与还原功能(四)

日期: 2008-07-23 作者:流浪浪 来源:TechTarget中国 英文

应用案例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
     –备份
  &#101xec p_backupdb @dbname=’’PRODUCE’’,@bkfname=@fname
  –根据备份生成每月新库
  &#101xec p_RestoreDb @bkfile=@path,@dbname=’’PRODUCE_月’’
  –为周数据库恢复准备基础数据库
  &#101xec p_RestoreDb @bkfile=@path,@dbname=’’PRODUCE_周’’,@retype=’’DBNOR’’
  –为日数据库恢复准备基础数据库
  &#101xec p_RestoreDb @bkfile=@path,@dbname=’’PRODUCE_日’’,@retype=’’DBNOR’’
  &#101xec 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 
      –差异备份 
  &#101xec p_backupdb @dbname=’’PRODUCE’’,@bkfname=@fname,@bktype=’’DF’’
  –差异恢复周数据库
  &#101xec p_backupdb @bkfile=@path,@dbname=’’PRODUCE_周’’,@retype=’’DF’’
  ’
  &#101xec 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 
  –日志备份 
  &#101xec p_backupdb @dbname=’’PRODUCE’’,@bkfname=@fname,@bktype=’’LOG’’ 
  –日志恢复日数据库 
  &#101xec p_backupdb @bkfile=@path,@dbname=’’PRODUCE_日’’,@retype=’’LOG’’ 
  ’ 
  &#101xec p_createjob @jobname=’每周差异备份’,@sql,@freqtype=’day’,@time=171500
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  –日志备份 
  &#101xec p_backupdb @dbname=’’PRODUCE’’,@bkfname=@fname,@bktype=’’LOG’’
  –日志恢复日数据库
  &#101xec p_backupdb @bkfile=@path,@dbname=’’PRODUCE_日’’,@retype=’’LOG’’
  ’
  &#101xec p_createjob @jobname=’每周差异备份’,@sql,@freqtype=’day’,@time=171500

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐