数据库备份一直是一个很重要的工作,当数据库崩溃以后进行恢复它就是一个很重要的东西。今天我说一下自己在实际是怎么运用的,各位大虾可以跳过。
首先,要完成进行一个 硬盘的备份。也就是传说中的 双机热备。我不擅长这个东西,这个是公司的系统管理员做的。他给我解释的原理就是,多块硬盘的备份,在对一块硬盘进行操作的时候,也会多另外一块硬盘进行相应的操作,当一块主硬盘挂掉,另外一个备份的硬盘就会接替前面的那一块硬盘进行工作。
然后就是数据库的备份了,一般来说,数据库的备份分为两块:一个是完整备份 一个是差异备份。
但是为什么要分为两块呢?完整备份其实更多的是针对节点性的一些数据的备份,而且他是一次完整的新的备份,你可以把他当作一个完整的数据库。有可能说:我这段时间的数据库异常,里面的数据都是错误的 我需要恢复到1一个月以前的数据,那么这个时候就需要这种完整性的备份来进行数据的恢复。二是对以前数据的查找。可能我一个月以前删除的这一行数据,但是现在我却需要一条数据,那么这个时间我就需要查找以前的数据进行恢复了,这个时候就需要查找以前的完整备份性数据了。
差异性备份主要针对的近期的一些恢复,他是在以前备份的文件上进行更新,例如:一个数据库崩溃了,那么肯定需要的恢复到最近的数据,最大的减少数据的损失。但是完整性的备份一般都是一个月或者一周或者几天进行备份一次(这个主要还是由消耗决定的,因为完整备份他会不断的新增数据库文件 从而消耗硬盘的空间。而差异性备份是在原来的基础进行更新)。
还有就是备份的选择,一定要有一台进行存储备份的的新的实体机(虚拟机就不做介绍了,自己去查找相关的资料),他区别于于以前的数据机器,当一台机器挂掉以后,另一台能够尽快的恢复,保证流程的正常运行。
再简单的说下,备份的方式:
1, sqlserver数据库本身有进行的工具:服务器对象=>备份设备
2, 管理=>维护计划
3, windows系统里面的维护计划(需要制作一个一个可执行文件,但是他对跨服务器的备份更好一些)
4,手写的windows服务
5,手写windows程序
备份的时间:
这个一般根据数据的重要和实时性来决定:一般性质备份是:7天进行一次完整备份,同时完整备份一般保留半年的数据文件。每天闲时进行一次差异性备份(完整性备份也在闲时进行)。