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