SQL Server自动备份脚本

SQL Server备份脚本:

脚本周三全备份,其他时间差异备份。

declare  @device  varchar (30);
declare  @filename  varchar (50);
declare  @datetime  varchar (50);
declare  @weekname  varchar (50);
declare  @weeknametmp  varchar (4);
declare  @weekday  int ;
set  @weekname=datename(weekday,getdate());
set  @datetime =  convert ( varchar (20),getdate(),112);
set  @device=  'RapooOA'  + @datetime;
set  @filename= 'D:\SQLBackup\RapooOA' +@datetime+ '.bak' ;
set  @weeknametmp= substring (@weekname,3,1);
if (@weeknametmp= '一' )
              set  @weekday=1;
else  if (@weeknametmp= '二' )
              set  @weekday=2;
else  if (@weeknametmp= '三' )
                set  @weekday=3;
else  if (@weeknametmp= '四' )
                set  @weekday=4;
else  if (@weeknametmp= '五' )
                set  @weekday=5;
else  if (@weeknametmp= '六' )
                set  @weekday=6;
else  if (@weeknametmp= '日' )
                set  @weekday=0;
set  @datetime =  convert ( varchar (20),getdate()-@weekday,112);
set  @device=  'RapooOA'  + @datetime;
set  @filename= 'D:\SQLBackup\RapooOA' +@datetime+ '.bak'
if (@weekname= '星期三'
                  begin
                  execute  sp_addumpdevice  'disk' ,@device,@filename;
                  backup  database  RapooOA  to  @device
                  end
else
                  begin
                  backup  database  RapooOA  to  @device  with  differential
                  end

保存为.sql格式的文件,使用计划任务定时执行就可以了。

如果出现下列错误:只要执行 exec sp_dropdevice RapooOA20160117 就可以删除了,然后重新运行就可以。

消息 15026,级别 16,状态 1,过程 sp_addumpdevice,第 74 行

逻辑设备 'RapooOA20160117' 已存在。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-01/127799.htm