仓酷云

标题: MSSQL编程:Web情况下MS SQL Server中数据的磁带备... [打印本页]

作者: 若天明    时间: 2015-1-16 22:23
标题: MSSQL编程:Web情况下MS SQL Server中数据的磁带备...
在ORDERBY操作中,MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快ORDERBY方面也没什么作用)。server|web|备份|恢复|数据 摘 要:先容了磁带数据备份及恢复的事情历程,包含在硬盘上创建了一个与磁带的容量相称的数据库,即桥数据库
和在Web信息体系中要完成完全的磁带数据备份及恢复功效。从实际与理论上论述了怎样使用SQL中现有的数据库备份和恢
复的命令和NT中的IDC手艺。
  关头词:Web信息体系;磁带数据备份;桥数据库;IDC文件;数据恢复


1 弁言
  完成磁带备份数据的功效有两方面的坚苦:起首,MSSQLServer(以下简称SQL)所供应的数据库的全体备份及恢复
功效不克不及间接满意本体系请求的数据转动备份。其次,必要办理怎样在Web情况下完成磁带数据备份功效。
  使用SQL中现有的数据库备份和恢复的命令和NT中的IDC手艺,完成SQL数据库中数据转动备份到磁带的功效。本体系
所完成功效既能包管近一段工夫的数据总在数据库中,又能包管体系办理员可随时恢复备份数据,供用户查询。本文所实
现的功效具有广泛的意义,出格合用于中小型企业开辟基于Intranet手艺的办理信息体系。
2 磁带数据备份及恢复的事情历程
  为了充实使用SQL中现有的数据库备份与恢复功效,以下降完成磁带数据备份的价值,我们专程在硬盘上创建了一个与
磁带的容量相称的数据库,我们称之为桥数据库,如FJJDBBK。可便利地完成数据的转动备份了。其事情历程是:办理员把
某月的数据从主数据库移到桥数据库中;然后用SQL的备份功效把桥数据库备份到磁带上。用户必要检察磁带中的汗青数据
时,体系又用SQL的恢复备份功效把磁带中的数据恢复到桥数据库中,用户间接在桥数据库中查经历史数据。别的,在数据
备份到磁带后,在举行下次数据备份前,必需清空备份数据库中的数据。为了进步事情效力,我们创建了一个空缺桥数据
库(没无数据时的桥数据库)。每次举行磁带备份数据之前,就用此空缺数据库恢复桥数据库。空缺数据库文件创建后要
保留好,不成任意删除。
  创建该备份空缺数据库历程为:先创建主数据库FJJDBBK,然后在FJJDBBK中创建与以后数据库中一样布局的表。创建
这些表布局时最好的办法是先用EnterpriseManager的Object菜单下的GenerateSQLScripts功效天生创建这些表的
Scripts文件,然后选择FJJDBBK数据库,用EnterpriseManager的Tools菜单下的QueryAnalyzer功效运转该文件,就创建
了这些所需表。明显,这时候的FJJDBBK为空数据库。我们再使用备份命令或运转Tools菜单下的Backup/Restore功效备份该
空数据库。
3 磁带数据备份及恢复的完成
  在NT中,Web服务器IIS(InternetInformationServer)供应了完美的会见SQL的手艺IDC。IDC是一个DLL文件
(HTTPODBC.DLL),实在,它经由过程ODBC接口可会见各类数据库。在详细完成Web页面会见数据库时,需创建两品种型的文
件:IDC文件(*.idc)和HTML模板文件(*.htx)。IDC文件用于把持数据库的会见。它一样平常由两部分构成:
  .文件头 指明体系数据源,模板文件名,用户名及口令。偶然还包含一些有关检索数据库方面的参数设置。
  .文件主体 这部份内容以"SQLStatement:"为肇端标记,然后写利用数据库的尺度SQL语句。注重,每条语句以"+"号
开首,它作为辨别每条SQL语句的标记。必要夸大的是,关于MSSQL数据库,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:WebSQL
Template:BKUP.htx
Username:sa
Password:sa
SQLStatement:
+if%jb%=1
+/*判别体系保护员*/
+SELECTqsrq=convert(varchar(12),getdate(),1),

zzrq=convert(varchar(12),+dateadd(day,1,getdate()),1)
+/*预置肇端日期和停止日期*/
/*BKUPCZ.IDC*/
Datasource:WebSQL
Template:BKUPCZ.htx
Username:sa
Password:sa
SQLStatement:
+INSERTFJJDBBK.DBO.JKLDSELECT*FROMFJJDB.DBO.JKLD
+whereconvert(varchar(12),gdsj,1)>=′%QSRQ%′
andconvert(varchar(12),gdsj,1)<=′%ZZRQ%′
…………
+/*把以后数据库当选定的数据转存到桥数据库中*/
+DUMPDATABASEFJJDBBKTOTAPE=′.tape0′WITHINIT,NOUNLOAD
+/*备份数据*/
+SELECTTS=′备份数据库操纵已完成!′
/*HUIF.IDC*/
Datasource:WebSQL
Template:HUIF.htx
Username:sa
Password:sa
SQLStatement:
+if%jb%=1
+begin
+LOADDATABASEFJJDBBKFROMTAPE=′.TAPE0′WITH
NOUNLOAD
+/*恢复备份数据*/
+SELECTTS=′恢单数据库操纵已完成!′+/*
+end
/*QLSJKCZ.IDC*/
Datasource:WebSQL
Username:sa
Password:sa
Template:QLSJKCZ.htx
SQLStatement:
+deleteFJJDB.DBO.JKLD
whereconvert(varchar(12),gdsj,1)>=′%QSRQ%′and
convert(varchar(12),gdsj,1)<=′%ZZRQ%′
…………
+/*删除以后数据库当选定的数据*/
+SELECTTS=′删除操纵已完成!′
  在本体系中,主数据库包管存储4个月数据。体系划定,体系办理员每个月月初备份上月的数据到磁带。然后删除前第4
个月的数据。完成了以后数据与汗青数据的同步查阅,这是Web体系的一个明显的长处。
4 结语
  本文先容了一种特别的数据磁带备份与恢复的详细完成办法。必要指出的是,数据库备份操纵是数据库办理体系十分
主要的环节,而数据库备份操纵历程又对照庞大,因而,请求我们必需创建完美的规章轨制,由专业的体系办理员举行数
据库备份和恢复操纵。


MyISAMMysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务
作者: 山那边是海    时间: 2015-1-19 09:04
呵呵,这就是偶想说的
作者: 兰色精灵    时间: 2015-2-7 02:41
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
作者: 冷月葬花魂    时间: 2015-2-19 21:27
比如日志传送、比如集群。。。
作者: 莫相离    时间: 2015-3-6 15:45
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者: 谁可相欹    时间: 2015-3-13 04:07
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
作者: 深爱那片海    时间: 2015-3-20 12:03
大家注意一点。如下面的例子:




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2