直播中
实际操作过程中是使用网络蚂蚁下载的,三个库的备份文件一共50MB,压缩后一共不到4MB;使用Sql备份工具,至少需要一个小时左右,而使用要方案最多不超过20分钟,这中间的效率是不可比拟的,还不包括在使用Sql备份工具时如果断网造成的延时。
3.1.2 实验二结果:建议使用专门的下载工具,如网络蚂蚁或者其它下载工具,是基于如下考虑:A、专门的下载工具功能强大,提供断点续传、多线程、定时下载等许多功能;B、许多用户都会使用,而且非常熟练,不需要再培训;C、比较稳定,如果自己要开发下载程序的话,一个是功能不强大,另外需要一段相当长的测试时间,需要投入时间与精力,不合算。如果是因为集成或者产品化的原因,可以考虑做一个相对简单的下载程序,与其它应用结合,或者开发一个管理备份文件的程序,管理起来比较方便。
3.2 服务器配置及源码
3.2.1 服务器端配置
3.2.1.1 Sql Server的配置:
-先建立Device(设备);
-然后备份具体的数据库到Device(设备)中,可以选择备份的时间及备份的方式;
重复上述操作,直到做好所有需要备份的数据库配置。
注意事项:
1、 备份文件存在的目录不要让用户能通过Http协议访问到;
2、 根据实际需要选择全额备份还是差额备份以及定时操作;
3、 如果系统备份以后,备份目录下就会出现.bak文件。
3.2.1.2 虚拟目录的配置
-为备份系统建立一个虚拟目录,如BackUp,一定要加上挑战反应,不允许匿名访问,这样访问时就需要输入系统管理员的用户名和密码,增强安全性。
3.3 源码
实现思路:为了保护数据的安全性,在3.2.1.2中要把备份系统的虚拟目录设成不允许匿名访问,需要系统管理员的密码;另外在3.2.1.1注意事项中1提到的不让备份文件存在的目录让用户能通过Http协议访问到,需要在生成下载文件后临时生成一个虚拟目录,下载完毕后再删除掉,确保安全。
一共包括四个文件,BackSet.asp、BuildvDir.asp、DelvDir.asp、BackList.asp。
-BackSet.asp:选择要建立临时下载虚拟目录的站点,同时临时给定下载虚拟目录的名称;
- BuildvDir.asp:根据BackSet.asp文件给定的站点和虚拟目录名称,建立虚拟目录;
-DelvDir.asp:删除在BackSet.asp文件给定的站点中的虚拟目录;
-BackList.asp:压缩备份文件,建立对应的被压缩后备份文件的下载链接;,
3.3.1 BackSet.asp文件解释
3.3.1.1 源码
…
<body bgcolor="#EEEEEC">
<center>
<font size=4>生成或者删除**项目备份数据库虚拟目录</font>
</center>
<hr size=1>
<br>
<center>
<form name="BackForm" method="Post">
<table border=1 width=70%>
<tr>
<td width=40% align=center>
<font size=2>
请选择要使用的站点名称:
</font>
</td>
<td>
<select Name="WebSiteIndex">
<%
dim ObjServer
dim obj3W
dim sServerName
set ObjService=GetObject("IIS://" & Request.ServerVariables("SERVER_NAME") & "/W3SVC")
for each obj3w in objservice
if IsNumeric(obj3w.Name) then
sServerName=Obj3w.ServerComment
if Instr(sServerName,"管理 WEB 站点") =0 then
sServerName=obj3w.Name & "-" & Obj3w.ServerComment
%>
<option value="<%=obj3w.Name%>"><%=sServerName%>
<%
end if
end if
next
set ObjService=Nothing
%>
</select>
</td>
</tr>
<tr>
<td width=40% align=center>
<font size=2>
请输入备份操作的虚拟目录名称:
</font>
</td>
<td>
<input Type=text name="vDir" value="SrrdBackUp" size=42>
</td>
</tr>
</table>
<br>
<br>
<input type=button Name="Build" value="生成虚拟目录">
<input type=button Name="Del" value="删除虚拟目录">
</form>
</center>
</body>
</html>
<script language=vbs>
Sub Build_Onclick()
'生成临时虚拟目录
if Trim(document.BackForm.vDir.value)="" then
msgbox "请输入虚拟目录名称!",16,"错误"
exit sub
else
document.BackForm.action="BuildvDir.asp"
document.BackForm.submit
end if
end sub
Sub Del_Onclick()
'删除临时生成的虚拟目录
if Trim(document.BackForm.vDir.value)="" then