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' 已存在。
本文永久更新連結地址: