当前位置:  首页  >  PHP教程  >  PHP 进阶  >  网络编程

数据库备份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等)灵活运用.

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有