前言
实现磁带备份数据的功能有两方面的困难首先MS SQL Server(以下简称SQL)所提供的数据库的整体备份及恢复功能不能直接满足本系统要求的数据滚动备份其次需要解决如何在Web环境下实现磁带数据备份功能
利用SQL中现有的数据库备份和恢复的命令以及NT中的IDC技术实现SQL数据库中数据滚动备份到磁带的功能本系统所实现功能既能保证近一段时间的数据总在数据库中又能保证系统管理员可随时恢复备份数据供用户查询本文所实现的功能具有普遍的意义特别适用于中小型企业开发基于Intranet技术的管理信息系统
磁带数据备份及恢复的工作过程
为了充分利用SQL中现有的数据库备份与恢复功能以降低实现磁带数据备份的代价我们特地在硬盘上建立了一个与磁带的容量相当的数据库我们称之为桥数据库如FJJDBBK可方便地实现数据的滚动备份了其工作过程是管理员把某月的数据从主数据库移到桥数据库中;然后用SQL的备份功能把桥数据库备份到磁带上用户需要查看磁带中的历史数据时系统又用SQL的恢复备份功能把磁带中的数据恢复到桥数据库中用户直接在桥数据库中查阅历史数据此外在数据备份到磁带后在进行下次数据备份前必须清空备份数据库中的数据为了提高工作效率我们建立了一个空白桥数据库(没有数据时的桥数据库)每次进行磁带备份数据之前就用此空白数据库恢复桥数据库空白数据库文件建立后要保存好不可随便删除
建立该备份空白数据库过程为先建立主数据库FJJDBBK然后在 FJJDBBK中建立与当前数据库中一样结构的表建立这些表结构时最好的方法是先用Enterprise Manager的Object菜单下的Generate SQL Scripts功能生成建立这些表的Scripts文件然后选择FJJDBBK数据库用Enterprise Manager的Tools菜单下的Query Analyzer功能运行该文件就建立了这些所需表显然这时的FJJDBBK为空数据库我们再利用备份命令或运行Tools菜单下的 Backup/Restore功能备份该空数据库
磁带数据备份及恢复的实现
在NT中Web服务器IIS(Internet Information Server)提供了完善的访问SQL的技术IDCIDC是一个DLL文件(HTTPODBCDLL)其实它通过ODBC接口可访问各种数据库在具体实现Web页面访问数据库时需建立两种类型的文件IDC文件(*idc)和HTML模板文件(*htx)IDC文件用于控制数据库的访问它一般由两部分组成
◆文件头
指明系统数据源模板文件名用户名及口令有时还包括一些有关检索数据库方面的参数设置
◆文件主体
这部分内容以SQLStatement为起始标志然后写操纵数据库的标准 SQL语句注意每条语句以+号开头它作为区分每条SQL语句的标志需要强调的是对于MS SQL数据库IDC可用其任何标准的命令及函数例如定义变量控制数据流等(见实例)
IDC的处理流程如下首先Web服务器IIS分析浏览器传来的URL字符串如果当前字符串以*idc结尾就将该IDC请求传给IDC接口模块IDC将依次读取并解释IDC文件的内容通过ODBC模块向数据库服务器发服务请求;数据库服务器将执行结果通过ODBC接口返回给IDC模块接着IDC模块把结果插入指定的的模板文件形成一个实际的HTML文件交给IIS;最后由IIS将该HTML返回浏览器
在Web信息系统中要实现完整的磁带数据备份及恢复功能需要实现以下三个功能数据备份功能数据恢复功能和清理数据功能数据备份功能在保证系统管理员操作的前提下根据用户输入的所要备份数据的起始日期和终止日期从主数据库把要备份的数据转存到桥数据库中然后运用SQL的DUMP命令实现该功能数据恢复功能则在保证系统管理员操作的前提下提供恢复桥数据库和恢复空白桥数据库的功能只要运用SQL的LOAD命令就可实现上述功能;同样清理数据功能也要保证在系统管理员操作的前提下根据用户输入的所要删除数据的起始日期和终止日期运用SQL中的DELETE命令删除当前数据库中数据因此为了数据备份功能和清理数据功能的顺利实施要求每个表都有归档时间字段
[] []