基于SQL Server2000的高校图书管理系统的数据备份与恢复

2014-04-29 00:44余守武
电脑知识与技术 2014年10期
关键词:数据库

余守武

摘要:数据库的备份与恢复在高校图书馆的日常工作中是一项非常重要的技术,工作人员对数据库的误操作、病毒的破坏、硬件损坏、软件冲突和外界突发事件等都可能导致数据丢失或系统崩溃。而该文主要介绍了数据库的几种备份与恢复的方法以及策略,这些方法和策略可以为各个高校的图书馆图书集成管理系统建立完善的数据备份和恢复策略提供参考,使得图书馆的数据库数据更加安全可靠。

关键词:SQL Server2000;数据库;备份与恢复

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)10-2177-03

数据库管理系统(Data Base Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。常见的数据库管理系统有Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access等产品[1]。Microsoft SQL Server2000是微软公司于2000年底推出的采用客户/服务器模式设计的关系数据库管理系统,它具有丰富的图形化管理界面、动态自动管理和优化功能以及丰富多样的编程接口工具,有非常好的伸缩性和可靠性等优点。SQL Server2000作为现如今主流的数据库之一,以其方便的管理、优异的性能和比较低廉的价格赢得越来越多的企事业单位和个人客户的青睐 。

1 数据库备份和恢复的重要性

在计算机技术和互联网技术飞速发展的今天,各高校图书馆数据库的数据量也是与日俱增,而图书馆数据的安全、可靠和正确才是数据库管理员最关心的问题。由于许多潜在因素如计算机硬件故障、计算机系统和应用软件出错、电源故障、数据库管理员误操作、自然灾害(如地震、火灾、水灾等)、黑客和病毒攻击等因素都会威胁数据库数据的安全。如果我们没有对图书馆的数据进行备份,一旦图书馆图书集成管理系统的服务器软硬件等产生故障就不可能对丢失或被破坏的数据进行恢复。尽管数据库系统本身具有一套完整的数据安全性防护,然而并不是万事无忧,任何数据库系统都无法防止因系统瘫痪或硬件问题等因素而造成数据丢失。就图书馆工作来说,流通借还和阅览室读者登到等动态数据的丢失是无法通过重新输入来恢复的,所以必须为服务器设置一个有效的备份策略,尽可能地保障数据库的安全。

高校图书馆不仅担负为校内成千上万的学生和教师提供图书借阅、期刊阅览和教学科研等服务的任务,而且还是培养师生信息意识和信息能力的最佳场所,它能够对教师的课堂教学起着深化和补充的重要作用。而图书馆的数据主要包括读者数据、流通数据、阅览数据和图书期刊的数据等。其中流通部、期刊部和采编部每天更新成千上万条的动态数据和几十万册甚至几百万册图书期刊的数据都存储在服务器内的数据库中,如果没有提前制定备份策略对数据库中的数据进行备份,一旦服务器的软硬件出现故障或其他因素导致数据库破坏或数据丢失,那么我们将无法恢复数据。它给图书馆带来的不仅仅是在经济上和业务上的损失,还有形象上的损失都是巨大的。虽然图书馆的静态数据(如图书期刊的馆藏数据)可以通过手工一条一条的录入来恢复,但是它所花费的时间将是无法估量的,而且是不切实际的;而动态数据(如读者的借还、预约和续借数据、阅览室的读者登到数据和历届读者数据等)却是无法通过手工恢复的。所以我们在每天的工作中必须定期对数据库数据进行本地备份,而且必须对数据库数据定期进行异地备份并存储至移动设备。当故障发生造成数据丢失或破坏时,我们只需使用之前的备份数据文件对数据库进行恢复,并且可恢复至备份时的数据库状态,这个过程就是利用数据库的备份文件来恢复数据库数据。我们所说的数据库的备份,就是将数据库内的数据完全一样的复制下来,并存储到指定位置;而数据库恢复便是使用备份文件将数据库恢复到备份时的状态。

无论多么完善的软件,还是多么高质量的硬件,在连续不间断的高负荷运行中,都有出现故障的可能性。而当数据库出现问题的时候,管理员只能通过备份文件对数据库进行重建和恢复使系统正常运行,从而不影响广大师生读者对图书馆的利用。因此,数据库的备份和恢复在图书馆的工作中是非常重要的。

2 硬件服务器选购

硬件服务器的合理选择对数据库的数据安全也是非常重要的。目前,我馆的硬件服务器为浪潮NF5220,内存8GB, CPU是Intel Xeon E5606。配套软件有金盘软件公司开发的金盘图书馆集成管理系统Gdlis XP4.0版本、Windows 2003、SQL Server2000以及瑞星杀毒软件。

在选购图书馆集成管理系统服务器的时候,需要考虑以下几个方面:

1) 配置多套电源供电系统,并外接两个(甚至多个)电源。多套供电系统可以保证其中一套供电系统出现问题后,另一套供电系统可以保障服务器正常工作。

2)配置两个(甚至多个)CPU,若其中的一个CPU坏了,剩下的CPU还可以保证服务器继续工作。

3) Raid5。服务器上最重要的就是图书馆管理系统数据库的数据了,而数据只能是存放在硬盘上。所以在购买服务器时最好配置四块服务器硬盘,其中三块硬盘做Raid5,剩下的一块做为备用硬盘。Raid5保证了当服务器损坏一块硬盘时不会影响服务器正常运行,同时尽快使用备用硬盘更换损坏的硬盘,以防再有硬盘损坏导致服务器无法正常工作。

4) 高速硬盘。现在一般服务器都配置SAS硬盘,这种硬盘稳定并且其转速要远远高于普通硬盘,能够应付快速的数据读写。

3 Microsoft SQL Server2000数据库备份和备份策略

3.1 数据库备份

为了能够利用尽可能少的时间和资源给数据库提供更安全可靠的数据保护,定期对数据库数据进行备份是最稳妥的防止软硬件等故障的最好方法,它能够在短时间内恢复丢失的数据或被破坏的数据库,这是一种对数据库安全比较经济实惠的保障手段,同时也是最简单的确保能恢复全部或大部分数据信息的方法。而对数据库进行备份需要考虑到很多因素。包括备份时间、备份周期、备份方法、备份存储和完善备份数据检查制度等。

3.1.1备份时间

每次对数据库数据进行备份需要选择合适的时间段。SQL Server2000数据库备份时间的确定非常重要,这是由于每次备份数据的时候需要占用服务器大量的资源。为了在备份数据时不影响正常工作,我们一般选择服务器工作不太繁忙的时候进行备份。针对图书馆开放时间的特殊性,我们可以在中午和晚上闭馆期间分别对数据库进行一次备份,并且在工作期间的每小时进行一次事务日志备份。

3.1.2备份周期

依据数据库数据的重要程度,可采取每小时、每一天、每一周和每个月执行备份操作。图书馆最重要的数据莫过于图书期刊的馆藏数据、读者信息以及流通数据,其中读者信息一般每年新生入学时才会大批量注册更新,而平时即使有新注册读者也是非常少的,当天数据丢失对读者信息影响不大;图书期刊的馆藏数据则是每天加工作多少就更新多少,每天所更新的数据量也有限,即使当天所加工的数据丢失,只需将所加工图书期刊重新加工即可恢复;但是流通数据每天都是成千上万条的更新,如果该数据丢失,那么读者借还、预约、续借、缴纳罚金和赔还图书等数据将全部丢失,将会严重影响图书馆的工作。由于图书馆工作期间数据传输频繁,如果数据备份次数过多,则会影响正常的开放工作,并且过于浪费时间和资源,所以我们一般选择在每天中午和晚上休息期间分别对数据库做一次差异备份和一次完全备份,并且在正常工作期间每小时进行一次事务日志备份,这样可最大限度的保证数据安全。

3.1.3备份方法

SQL Server2000的备份方法有很多,可分为完全备份、差异备份和增量备份等,与此同时SQL Server2000支持独自用其中一种备份方法或同时组合应用多种备份方法。

1)完全备份。数据库完全备份是备份数据库上的所有数据,并随着这项操作的完成将这些数据标记为已备份数据。定期执行全备,以保证全部数据都存在于介质的某个独立部分或集合上。事务日志备份、增量备份和差异备份的前提是完全备份,同时全备的数据是最全面的和最完整的,而且可恢复性也是最强的,但是它所占用的存储空间更大、花费的时间更长和消耗的资源更多,因此完全备份创建的频率不能过高,并且无法对任意时间点的数据进行恢复,只能恢复到备份时的状态。

2) 差异备份。如果数据库中的数据经常被修改或更新,可以采用差异备份来缩短数据库的备份和恢复时间。差异备份能够保存自上一次全备以来被改动过的一切文件,也就是进行修改过或新增加过的数据,不过这些文件并没有被标记为已备份文件。在差异备份的过程当中自前一次全备后一切被改动过的信息都将被备份,与全备相比,差异备份的效率更高、占用的空间更少、所花费时间更短。但是使用差异备份进行数据库恢复时,必须要有它之前的完全备份和差异备份,不然将无法对数据库的数据进行恢复。

3) 增量备份。增量备份可以保存自上一次全备后被改动过的一切文件,并被标记为已备份文件。增量备份只备份自上一次全备或增量备份后更改的一切数据。当使用增量备份进行数据恢复时,需要组合使用最近的完全备份和所有增量备份集合。

4) 事务日志备份。事务日志是记录自上一次事务日志备份后对数据库执行的一切写入或修改操作。对于数据库数据变化的一切操作,在事务日志中都有明确的记录,可用事务日志对这些操作进行撤销或重做。用事物日志备份能够把数据库数据恢复到特定的即时点或故障点。一般来说,事物日志备份比全备耗时短且占用系统资源少,所以事物日志备份的创建频率可更高,如此一来数据库数据丢失的危险将大大降低[2]。

3.1.4备份存储

数据库备份的目的是数据库出现问题后,可以使用备份文件将数据库恢复到备份时的状态。数据库管理员不仅要重视数据库的备份工作,还必须要妥善管理好备份文件和备份设备,备份文件及设备尽可能不要和数据库系统存放在同一台服务器上,以防服务器硬件出现故障时连同备份文件一起丢失或损坏。由于我校图书馆数据库备份文件占用空间较小,每次备份可以存放在服务器本地磁盘(如果是软件问题而不是硬件故障时,就可以利用本地备份文件直接恢复数据库,非常方便。),同时为了防止硬件故障导致本地磁盘备份文件丢失或损坏,我们必须将每次的备份文件存放至其他服务器硬盘和移动设备中,并且定期将备份文件存放至异地[3]。

3.1.5完善备份数据检查制度

尽管SQL Server2000企业管理器可设置数据库定期按时进行自动备份,然而数据库管理员依然不能麻痹大意,因为自动备份的成功与否和操作系统以及数据库软件能否正常运行是密切相关的,所以管理员应该定期检查备份是否正常进行,以便及时发现并处理自动备份过程中出现的问题,确保备份数据的正确性和可用性。

3.2数据库备份策略

事先制定数据库的备份策略是非常重要的,一个合理完善的备份策略能够让数据库管理员在最短的时间内,使用最少的资源将数据库恢复到正常的运行状态。而一个完善的备份策略需要根据实际使用数据库的大小、使用频率和数据的重要程度等等因素来建立。

根据图书馆利用率、开放时间、数据库的大小和其数据的重要程度,为我校图书馆图书集成管理系统数据库建立一个合适的备份策略。

1)我馆图书集成管理系统数据库占用存储空间较小(约为2.5GB),且备份所需时间较短,因此我们可以利用中午休息时间(12:00—14:30)和晚上闭馆时间(21:30—早上8:00)分别对数据库进行一次差异备份和完全备份,两次备份均由SQL Server2000企业管理器的数据库维护计划设置成自动备份。

2) 由于读者的借还、续借、预约以及赔罚款等数据和阅览室的读者登到数据是时刻变化的,而且每天都是成千上万条的更新,如果在工作期间数据库遭到破坏而无法使用,那么在这期间更新的数据将全部丢失,将给我们图书馆工作造成严重的影响,并且给读者利用图书馆带来不便。因此,我们可以在图书馆对读者开放期间的每一个小时由SQL Server2000自动进行一次事务日志备份,并直接存储至移动设备或其他服务器上。这样一来,即使工作期间数据库出现问题而无法使用,数据库管理员也可利用事物日志备份文件在短时间内恢复数据库数据,从而将对读者的影响降至最低。

3) 作为一名优秀的数据库管理员,不但要合理备份数据库数据,同时也要重视备份数据文件的存储。数据库管理员要做到在每次上班的时候,将前一天晚上的完全备份文件或者每天中午的差异备份文件拷贝至移动设备或其他服务器上存储,以便于保证备份数据文件存储的安全性和可用性。

4)数据库管理员每周需要登录一次服务器,并对服务器软硬件进行检查以及检查数据库自动备份是否正常。而且管理员需要手工对数据库数据进行一次完全备份,并拷贝至移动设备,以防自动备份文件损坏或丢失而无法使用。

5) 定期检查服务器可用存储空间和软件等应用程序,防止存储空间不足和软件故障等原因造成数据库自动备份失败,发现问题并及时解决。

4 Microsoft SQL Server2000数据库恢复方法和恢复策略

4.1 数据库的恢复方法

4.1.1完全备份的恢复方法

对于只做了完全备份的数据库数据被破坏而无法使用时,我们只能通过该完全备份文件恢复数据库数据。该方法可以把数据库的数据文件和日志文件恢复到备份时间点的状态上,并且数据保持原样。

4.1.2 增量+全备的恢复方法

组合使用增量备份和完全备份文件对数据库进行恢复时,首先要恢复最近一次的完全备份,然后再按备份的先后顺序恢复该完全备份后的若干增量备份,最后一次的增量备份只有到最后才恢复。由于增量备份恢复是基于日志原理的,SQL Server2000会重做自全备后的一切数据库日志,倘若增量备份文件过多,则会导致恢复速度变慢。

4.1.3 差异+全备的恢复方法

组合使用差异备份和完全备份文件对数据库进行恢复时,首先要恢复最新的完全备份并将数据库置于恢复状态中,然后再恢复离该全备最远的一个差异备份文件(也就是最新的一次差异备份),此种数据库的恢复方法执行起来方便且所需时间较短[4]。

4.1.4 全备+事务日志的恢复方法

使用事物日志对数据库进行恢复时,一定要使用有效的全备或差异备份来执行数据库的恢复,同时必须按顺序来还原事务日志的备份文件。只有在上一次的全备或者差异备份组可用时,才能顺序使用事务日志备份将数据库恢复到发生故障的最后那个时刻相一致的状态。因为事务日志备份文件中的每一个都是未断开连接的,所以应该非常小心地确保这些文件在备份过程中都是有效的。如果其中的一个文件损坏、丢失或者处于其他不可用的情况下,那么将只能还原到链接断开的那个时刻。

4.2 数据库的恢复策略

为图书馆数据库制定一个合理完善的恢复策略,在数据库遭到破坏时,可以在恢复数据库的时候节约资源和节省时间。而数据库恢复策略的制定,需要根据实际使用数据库的具体情况而定。

我馆的数据库占用空间较小,而且每天在中午和晚上休息时间分别进行一次差异备份和一次完全备份以及在工作期间每小时进行一次事物日志备份。对于上班前和上班期间发现数据库被破坏以及服务器硬件损坏时,我们可以采用以下策略对数据库进行恢复重建。

1)如果在上班前(上午上班或下午上班时)发现数据库被破坏而无法正常使用时,那么我们可使用前一天晚上的完全备份或最新的完全备份和当天中午的差异备份对数据库进行恢复重建,这种恢复策略可以将数据库还原成原有的状态,不会造成数据库丢失。

2) 如果在上午上班期间数据库被破坏而无法正常使用时,则可组合使用前一天晚上的完全备份文件和当天上午的事务日志备份文件对数据库进行恢复重建;如果在下午上班期间数据库被破坏而无法正常使用时,则可组合使用最新的完全备份文件、中午的差异备份文件和下午的事务日志备份文件对数据库进行恢复重建。此种方法可将数据库恢复到最后一次事务日志备份时的状态。

3) 在服务器硬件正常运行的情况下,可以通过以上两种策略直接恢复数据库数据,而一旦服务器硬件出现问题,将无法直接恢复数据库数据。服务器硬件出现问题后,无论是维修还是重新购买,都需要一定的周期,在此期间图书馆只能闭馆,将严重影响读者利用图书馆资源。

针对服务器硬件故障导致数据库不能在短时间内恢复使用,可以采用以下方法来解决:①对于经费充足的图书馆,可以通过选择双机热备的方式来解决或购买两台完全一样的服务器,并且软件环境完全一致。其中一台作为主服务器使用,另外一台作为后备服务器。在主服务器硬件出现故障后,可以启用后备服务器恢复数据库;②对于经费并不充裕的图书馆,可以准备一台PC机,并将软件环境配置与主服务器一致。在主服务器硬件出现故障后,可启用此PC机来恢复数据库,暂时代替服务器工作,并及时维修或购买新服务器。

5 结束语

Microsoft SQL Server2000数据库的备份和恢复的方法及策略非常多,但是针对不同的数据库我们所采用的方法和策略也不同。对于图书馆来说,最好是使用双机热备的方式来保障数据库数据的安全,但是出于成本或其他因素考虑,双机热备的方式使用较少。该文所介绍的备份和恢复方法,适用于大部分高校图书馆,它可以在服务器崩溃或软件等问题导致数据丢失时能够及时恢复数据,从而将损失降至最低。

参考文献:

[1] 于洋.大型数据库远程备份研究[J].烟台职业学院学报,2012(1):80-83.

[2] 丁向朝.SQLServer数据库备份与还原应用[J].信息与电脑,2012(7):98-99.

[3] 王红建.SQL数据库的备份与恢复技巧[J].科技视界,2012(28):175,202.

猜你喜欢
数据库
数据库
数据库
数据库
数据库
数据库
数据库