频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Web环境下SQL Server数据备份与恢复

作者: 韩红滔/张平安 出处:赛迪网技术社区 2007-04-02 16:03    砖    好    评论   进入论坛
阅读提示:介绍了磁带数据备份及恢复的工作过程,包括在硬盘上建立了一个与磁带的容量相当的数据库,即桥数据库 和在Web信息系统中要实现完整的磁带数据备份及恢复功能。从理论与实践上阐述了如何利用SQL中现有的数据库备份和恢复的命令以及NT中的IDC技术。

1、引言

实现磁带备份数据的功能有两方面的困难:首先,MS SQL Server(以下简称SQL)所提供的数据库的整体备份及恢复功能不能直接满足本系统要求的数据滚动备份。其次,需要解决如何在Web环境下实现磁带数据备份功能。
利用SQL中现有的数据库备份和恢复的命令以及NT中的IDC技术,实现SQL数据库中数据滚动备份到磁带的功能。本系统所实现功能既能保证近一段时间的数据总在数据库中,又能保证系统管理员可随时恢复备份数据,供用户查询。本文所实现的功能具有普遍的意义,特别适用于中小型企业开发基于Intranet技术的管理信息系统。

2、磁带数据备份及恢复的工作过程

为了充分利用SQL中现有的数据库备份与恢复功能,以降低实现磁带数据备份的代价,我们特地在硬盘上建立了一个与磁带的容量相当的数据库,我们称之为桥数据库,如FJJDBBK。可方便地实现数据的滚动备份了。其工作过程是:管理员把某月的数据从主数据库移到桥数据库中;然后用SQL的备份功能把桥数据库备份到磁带上。用户需要查看磁带中的历史数据时,系统又用SQL的恢复备份功能把磁带中的数据恢复到桥数据库中,用户直接在桥数据库中查阅历史数据。此外,在数据备份到磁带后,在进行下次数据备份前,必须清空备份数据库中的数据。为了提高工作效率,我们建立了一个空白桥数据库(没有数据时的桥数据库)。每次进行磁带备份数据之前,就用此空白数据库恢复桥数据库。空白数据库文件建立后要保存好,不可随便删除。
建立该备份空白数据库过程为:先建立主数据库FJJDBBK,然后在FJJDBBK中建立与当前数据库中一样结构的表。建立这些表结构时最好的方法是先用Enterprise Manager的Object菜单下的Generate SQL Scripts功能生成建立这些表的Scripts文件,然后选择FJJDBBK数据库,用Enterprise Manager的Tools菜单下的Query Analyzer功能运行该文件,就建立了这些所需表。显然,这时的FJJDBBK为空数据库。我们再利用备份命令或运行Tools菜单下的Backup/Restore功能备份该空数据库。

3、磁带数据备份及恢复的实现

在NT中,Web服务器IIS(Internet Information Server)提供了完善的访问SQL的技术IDC。IDC是一个DLL文件(HTTPODBC.DLL),其实,它通过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命令删除当前数据库中数据。因此。为了“数据备份”功能和“清理数据”功能的顺利实施,要求每个表都有归档时间字段。

实现本系统磁带数据备份与恢复功能的部分IDC文件如下:

/*BKUP.IDC*/
Datasource: Web SQL
Template: BKUP.htx
Username: sa
Password: sa
SQLStatement:
+if %jb%=1
+/*判断系统维护员*/
+SELECT qsrq=convert(varchar(12),getdate(),1),

zzrq=convert(varchar(12),+dateadd(day,1,getdate()),1)

+/*预置起始日期和终止日期*/

/*BKUPCZ.IDC*/
Datasource: Web SQL
Template: BKUPCZ.htx
Username: sa
Password: sa
SQLStatement:
+INSERT FJJDBBK.DBO.JKLD SELECT * FROM FJJDB.DBO.JKLD
+where convert(varchar(12),gdsj,1)>=′%QSRQ%′
and convert(varchar(12),gdsj,1)< =′%ZZRQ%′
…………
+/*把当前数据库中选定的数据转存到桥数据库中*/
+DUMP DATABASE FJJDBBK TO TAPE = ′\.tape0′ WITH INIT, NOUNLOAD
+/*备份数据*/
+SELECT TS=′备份数据库操作已完成!′
/*HUIF.IDC*/
Datasource: Web SQL
Template: HUIF.htx
Username: sa
Password: sa
SQLStatement:
+if %jb%=1
+begin
+LOAD DATABASE FJJDBBK FROM TAPE=′\.TAPE0′ WITH
NOUNLOAD
+/*恢复备份数据*/
+SELECT TS=′恢复数据库操作已完成!′+/*
+end

/*QLSJKCZ.IDC*/
Datasource: Web SQL
Username: sa
Password: sa
Template: QLSJKCZ.htx
SQLStatement:
+delete FJJDB.DBO.JKLD
where convert(varchar(12),gdsj,1)>=′%QSRQ%′ and
convert(varchar(12),gdsj,1)<=′%ZZRQ%′
…………
+/*删除当前数据库中选定的数据*/
+SELECT TS=′删除操作已完成!′

在本系统中,主数据库保证存储4个月数据。系统规定,系统管理员每月月初备份上月的数据到磁带。然后删除前第4个月的数据。实现了当前数据与历史数据的同步查阅,这是Web系统的一个显著的优点。

4、结束语

本文介绍了一种特殊的数据磁带备份与恢复的具体实现方法。需要指出的是,数据库备份操作是数据库管理系统非常重要的环节,而数据库备份操作过程又比较复杂,因此,要求我们必须建立完善的规章制度,由专业的系统管理员进行数据库备份和恢复操作。

【责任编辑:火凤凰 TEL:(010)68476606-8007】

专题
企业Web安全威胁在线评估系统
操作系统密码恢复专题
企业数据恢复指南
业务连续性与灾难恢复
Web 2.0基础知识大全
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。