会员登陆  支付方式  联系我们  在线客服  网站地图       
首页 关于域浪 互联网数据中心业务、主机托管、主机租用、机架租用、带宽租用、机房介绍、机房对比、CCN网络加速 adsl专线、深圳adsl专线 虚拟主机、域名注册、数据库、企业邮局、动态域名 网络安全、网络临近平台、安全服务、防火去墙租用、安全产品、域浪抗DDOS防火墙、NetScreen防火墙 技术支持  
   当前位置:首页 >> 技术支持 >> MSSQL数据库技术 >> Web环境下MS SQL Server中数据的磁带备份与恢复
 
精华文章
    关于MSSQL Server中DA...  
    利用MSSQL sp自制未公...  
    MS SQL数据库备份和恢...  
    使用MS SQL7的LINKED ...  
    使用MS SQL7的LINKED ...  
    使用MS SQL7的LINKED ...  
    使用MS SQL7的LINKED ...  
    关于MSSQL占用过多内存...  
    关于MSSQL数据库日志满...  
    Ms SQL Server 中单引...  
    MS SQL Server 7.0 的...  
    MS SQL Server查询优化...  
    Web环境下MS SQL Serv...  
    MS SQL Server 性能优...  
    远程检测MS SQL Serve...  
    MSSQL db_owner角色注...  
    MSSQL注入攻击服务器与...  
    MS-SQL数据库开发常用...  
    win2003 64位系统下as...  
    MSSQL数据库日志压缩/...  
    mssql数据库管理的简单...  
    MSSQL Server 2000的安...  
    如何成为数据库技术专...  
    MS SQL Server数据库事...  
    使用MS SQL7的LINKED ...  
    MS SQL Server:事务处...  
    MS SQL Server 7.0 的...  
    MS SQL Server 7.0 查...  
  更多>>  
   MSSQL数据库技术
 Web环境下MS SQL Server中数据的磁带备份与恢复
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 结语



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

  • 上一篇文章: MS SQL Server查询优化方法
  • 下一篇文章: MS SQL Server 性能优化指南
  • 域浪网络ISP经营许可证 深圳地址:深圳市罗湖区宝安北路国际商品交易大厦七楼C30室
    Tel:0755-82266883/82267566 Fax:0755-82261966
    邮编:518000 
                        Copyright © 2006-2008 elang.cn All Rights Reserved 深圳市域浪网络技术有限公司版权所有