SQL Server自動備份指令碼

2021-09-21 10:38:33 字數 1437 閱讀 1147

這幾天在給企業培訓時,幫助他們寫了乙個備份的指令碼,留給大家分享吧。此指令碼的目的是,每週日做完全備份,每週一到週六做差異備份,每週的備份寫入到乙個備份裝置當中,備份裝置起名規則為「備份裝置名+週日日期」,下週備份再重新備份到乙個新的備份裝置中。此指令碼編寫完以後,可以做成作業,讓它每天自動完成就可以了。

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= 'nwdevice' + @datetime;

set @filename='c:\nwdevice'+@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= 'nwdevice' + @datetime;

set @filename='c:\nwdevice'+@datetime+'.bak'

if (@weekname='星期日') 

begin

execute sp_addumpdevice 'disk',@device,@filename;

backup database northwind to @device

endelse

begin

backup database northwind to @device with differential

end 

SQLSERVER備份指令碼

看網上的例子寫的sqlserver資料庫備份指令碼,這個指令碼不是很好,不能刪除以前備份的。declare currentdatabasename nvarchar 100 declare currentbackfolder nvarchar 200 declare weekday varchar ...

sqlserver自動備份

一。sqlserver自動作業備份1 開啟sql server management studio 2 啟動sql server 3 點選作業 新建作業 4 常規 中輸入作業的名稱 5 新建步驟,型別選t sql,在下面的命令中輸入下面語句 declare strpath nvarchar 200 ...

自動備份指令碼

功能 打包檔案列表中的檔案,存為帶日期標籤的檔案,每天定時備份一次,同時為避免備份量過大,只保留每月底和近一周的副本,最多共18個備份。windows下 backup.cmd rem echo off rem configure rar tool path set rartool c program...