前段时间公司服务器硬盘损坏,导致重要数据的损失,因此数据库自动备份显得更加重要了。
在作业中,数据库可以设置成每天,每周,但是备份的文件都只是保留了一份,如果每天备份两次,并且文件至少保留一周,
该怎么做呢?做十二个备份作业,是可以做到,但是有更好的办法
declare @week as int
declare @dbfile as varchar(256)
set @week=datepart(dw,getdate()) - 1
set @dbfile='E:/DBBAK/dbname_bak_Week'+rtrim(@week)+'_2300.bak'
BACKUP DATABASE [HealthManage] TO DISK =@dbfile WITH INIT , NOUNLOAD , NAME = N'dbname备份', NOSKIP , STATS = 10, NOFORMAT
把作业设置成每天晚上11点执行,这样就可以保留一周每天的备份文件了。
再设置成另一个作业,修改成中午1点(可以是中午休息时间), 备份文件保存到其它分区。
然后再给整个硬盘做个镜像。 然后再定期把备份的文件copy到其它(不同服务器) 的地方。