一、引言
信息技术的发展离不开数据库技术的不断发展,从dbase、Foxbase、Foxpro、Access,到Microsoft SQL Server、Sybase SQL Server、Oracle,数据库的规模越来越大,其功能也越来越强大。Microsoft SQL Server是运行在Microsoft Windows NT上的一个高性能数据库管理系统,它基于多线程的客户/服务器体系结构,这一点与其他流行的多进程客户/服务器数据库系统不同,多线程的数据库系统与多进程的数据库系统相比,装入Microsoft SQL Server时,仅仅启动一个进程,而每个用户有各自的线程,这种结构需要的资源比多进程系统少得多。Microsoft SQL Server的强大功能还表现在其保证数据的完整性,有了服务器维护数据的完整性,就没有再必要依赖各个部门的程序员,他们能力各异,编写的应用程序也很难统一,然可以在应用程序内部努力保证完整性,但是没有必要完全寄希望于此,因为有了Microsoft SQL Server,就可以在整个LAN内部保证数据库信息的完整性和一致性。因此Microsoft SQL Server在许多单位得以应用,然而其数据库系统产生各种故障的可能性始终存在,更要求我们合理备份数据库中的数据。
二、故障的产生及后果
计算机系统有许多种故障类型,诸如:
.机械损坏,计算机的各种部件(包括磁盘)都存在物理的,机械的故障可能性。
.电源故障,指一般的UPS无法保护的异常电源故障。
.自然灾害,地震、水灾,火灾或其他原因造成的严重故障。
.错误使用,客户应用程序以及服务程序使用中的中途故障。
.恶意破坏,在一个系统中也不排除一些恶意破坏者。
.其他还有多种形式,但大多数是以上几种形式的变体。
假如没有数据备份,一旦产生故障(主要是系统发生故障)那就不可能恢复丢失的数据,如果是这样的话,不得不返回物理文件重新输入所有数据,试想一下,输入以前那些信息曾花费了多少个日夜,并且在重新输入旧数据时,新数据还在不断的到来,所以没有理由不为服务器配置一个有效的备份设备,多投入一点资金与潜在的不可恢复的商业信息以及人们的宝贵时间相比显得微不足道。
三、备份策略
定期备份数据库是最稳妥的防止磁盘故障(主要是系统发生故障)的方法,它能有效的恢复数据,这是一种比较兼价的保险形式,同时也是最简单的确保能恢复大部分信息的方法。建立一个完整的备份策略需要考虑很多因素,包括:
.备份周期。(根据数据的重要程序,可以选择每周、每日、每时进行备份)。
.使用静态备份还是动态备份,(动态备份也即允许数据库运行时进行备份)。
.仅使用全备份还是共同使用全备份和增量备份。
.使用什么介质,(磁带还是磁盘)。
.使用人工备份还是设计好的自动备份程序。
.检验备份完整性的周期。
.备份存储的空间是否防窃、防磁干扰、防火。
.是否指定其他人实行备份,他们是否享有必要的登录号和口令。
.在负责备份和恢复的主要人员缺席的情况下,是否有其他人能代替他们。
最快的然而是最昂贵的保护是准备一个备份服务器随时替代主服务器,备份服务器必须能支持Microsoft SQL Server运行,并能完整备份所有数据库,系统和用户帐户,因为事务处理日志和数据库的转储由主服务器创建,所以他们必须迅速的装载到备份服务器,如果主服务器需要中止工作一段时间,只需投入备份服务器代替主服务器即可,备份服务器将接管事务处理日志,就好象什么也没有发生。
以上是服务器镜象备份,也称为双机热备份,另外还有硬盘镜象备份,(最好有二个相同的硬盘),因出于成本或其他原因考虑,尤其是双机热备份(单独专门使用一个与服务器配置一样的计算机作为备份服务器)采用者较少,因此我们提出了异机备份的策略,这也是最好最经济的备份方式,特别是当服务器崩溃或Microsoft SQL Sever系统崩溃时,因为此时除了双热备份可以启用备份服务器直接使用外,通过其他的各种备份策略(不包括异机备份策略)必须重装服务器操作系统(Microsoft Windows NT)或重装Microsoft SQL Sever,采用异机备份策略,则不必担心,这时候只需待装好Microsoft SQL Sever时,从异机传送数据恢复即可,具体做法是:
在局域网内的任何一台工作站计算机上安装Microsoft Windows NT及Microsoft SQL Server,并在该机上建立一个与服务器中的数据库同名的数据库,利用Microsoft SQL Server系统本身提供的异机传送工具(在Microsof SQL Enterprise Manager中的Tools菜单下的Database/Object Transfer)通过设置定时(可以是每周、每月、每日或每时)由计算机自动的把服务器中数据库的数据传送到该工作站机的数据库中,这样一旦服务器(操作系统)崩溃或Microsoft SQL Server系统崩溃时,只要重装服务器操作系统(Microsoft Windows NT)或重装Microsoft SQL Server仍然可以采用异机传送工具来通过该工作站机把数据传回至服务器的Microsoft SQL Server数据库中,以确保数据的安全恢复,上海宏士达公司就是使用这一方法才在恶劣环境下也保证数据不丢失。
此外,定期的把某些数据,某些表或全部数据备份到光盘,软盘中,放于保险的安全处,也不失为一种好方法。
四、结语
数据库的安全备份/恢复策略固然有多种,但当服务器或Microsoft SQL Server数据库系统发生崩溃时,其原先的备份数据很难恢复,因为Microsoft SQL Server数据库不象Focpro等数据库可以直接拷贝数据文件,前者必须要有备份策略,才能安全恢复,因此,在处理异常故障时我们提出了异机备份策略,已经收到了奇效,我们相信只要采用适当有效的备份/恢复措施,大型数据库Microsoft SQL Server的数据是能够安全保护的。