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' 已存在。



參考:

http://zhanjianhua.iteye.com/blog/1002860

http://bbs.csdn.net/topics/300066983 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章