数据库备份策略……
如题,分享些经验方面的东西……
[解决办法]
- SQL code
--小F的/*******************完整备份作业*******************/ --完整备份,每周一次 USE Master GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\FullBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak' BACKUP DATABASE [demo] TO DISK=@str WITH RETAINDAYS=15,NOFORMAT,NOINIT, NAME=N'Demo完整备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO /*******************差异备份作业*******************/ --截断日志 USE Master GO BACKUP LOG Demo WITH NO_LOG GO --收缩日志文件 USE Demo GO DBCC SHRINKFILE (N'Demo_log',0,TRUNCATEONLY) GO --差异备份,每天一次 USE Master GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\DiffBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff' BACKUP DATABASE [Demo] TO DISK=@str WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT, NAME=N'Demo差异备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO /******************日志备份作业*******************/ --日志备份,每小时一次 USE Demo GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\logbak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.trn' BACKUP LOG [Demo] TO DISK=@str WITH RETAINDAYS=3,NOFORMAT,NOINIT, NAME=N'Demo日志备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO --删除过期的备份文件,每天两次 declare @str varchar(100),@dir varchar(100),@fileName varchar(30) set @dir='del D:\DBtext\jgj\DBABak\' set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8) set @str=@dir+'fullbak'+@filename+'*.bak' exec xp_cmdshell @str set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8) set @str=@dir+'diffbak'+@filename+'*.diff' exec xp_cmdshell @str set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8) set @str=@dir+'logbak'+@filename+'*.trn' exec xp_cmdshell @str
[解决办法]
觉得必要时,就备份,一般工作不是很频繁的一周一备叱.可以设置为自动化,用作业.
[解决办法]
[解决办法]
制定备份策略,需要考虑:
1.可投入的成本有什么? 包括机房,磁带,磁盘,存储,光盘等.
2.业务系统可接受的数据损失最大是什么程度?
3.如何做灾难恢复?(有些情况下,有备份也是恢复不了的喔).
[解决办法]
补充,
4.备份作业,对业务系统性能的影响.
[解决办法]
可以考虑做分发,在订阅服务器上备份。
[解决办法]
备份关键生产数据库,应该是冷备+热备的方式来做。
冷备,保证不物理性数据灾难,有备份可用:楼上的大神们已经有备份策略和方式了
热备,保证业务的连续性:数据库镜像或者复制,再不然群集,第三方热备软件。