数据库备份 SQLServer的备份和灾难恢复
各大服务器硬件厂商(IBM,HP等)提供有很好的数据保护策略(硬件或软件).如大家熟知的RAID磁盘阵列(Redundant Array of Independent Disks)就是很好的数据保护方法.就SQL Server而言,通过维护计划可以制定详细的数据备份计划.
数据备份策略(full backup, differential backup and transaction log backup)
数据备份是为数据恢复服务的,所以建立数据备份计划之前,应先考虑是否能利用该备份有效的恢复数据(在downtime允许的时间范围内).还应先考虑系统允许的RPO(Recovery Point Objective,灾难发生后,系统或数据必须恢复的时间点), RTO(Recovery Time Objective,指当灾难发生后,所采用的系统复原工具或解决方案,可让系统或数据恢复到正常运作的状况时,所需花费的时间).
有三种通常使用的备份计划:
(1). 只有全备份
两个全备份之间的时间段发生故障,数据会丢失,只能恢复到上一个全备份的数据.
(2). 全备份+日志备份
在全备份之间加入日志备份,可以把备份时间点缩小到更小的粒度.可以在每天做一个全备份,每一个小时或者半个小时做一次日志备份.这样子的话,如果在23:59分发生故障,需要restore一个full backup+23个transaction log backup,操作恢复的时间会比较久.
(3). 全备份+差异备份+日志备份
在全备份之间加入差异备份(differential backup),差异备份之间有日志备份.
至于选择哪一种备份策略,要根据实际的情况(RTO, RPO, Server loading等)灵活运用.