直播中
實際操作過程中是使用網(wǎng)絡(luò)螞蟻下載的,三個庫的備份文件一共50MB,壓縮后一共不到4MB;使用Sql備份工具,至少需要一個小時左右,而使用要方案最多不超過20分鐘,這中間的效率是不可比擬的,還不包括在使用Sql備份工具時如果斷網(wǎng)造成的延時。
3.1.2 實驗二結(jié)果:建議使用專門的下載工具,如網(wǎng)絡(luò)螞蟻或者其它下載工具,是基于如下考慮:A、專門的下載工具功能強(qiáng)大,提供斷點續(xù)傳、多線程、定時下載等許多功能;B、許多用戶都會使用,而且非常熟練,不需要再培訓(xùn);C、比較穩(wěn)定,如果自己要開發(fā)下載程序的話,一個是功能不強(qiáng)大,另外需要一段相當(dāng)長的測試時間,需要投入時間與精力,不合算。如果是因為集成或者產(chǎn)品化的原因,可以考慮做一個相對簡單的下載程序,與其它應(yīng)用結(jié)合,或者開發(fā)一個管理備份文件的程序,管理起來比較方便。
3.2 服務(wù)器配置及源碼
3.2.1 服務(wù)器端配置
3.2.1.1 Sql Server的配置:
-先建立Device(設(shè)備);
-然后備份具體的數(shù)據(jù)庫到Device(設(shè)備)中,可以選擇備份的時間及備份的方式;
重復(fù)上述操作,直到做好所有需要備份的數(shù)據(jù)庫配置。
注意事項:
1、 備份文件存在的目錄不要讓用戶能通過Http協(xié)議訪問到;
2、 根據(jù)實際需要選擇全額備份還是差額備份以及定時操作;
3、 如果系統(tǒng)備份以后,備份目錄下就會出現(xiàn).bak文件。
3.2.1.2 虛擬目錄的配置
-為備份系統(tǒng)建立一個虛擬目錄,如BackUp,一定要加上挑戰(zhàn)反應(yīng),不允許匿名訪問,這樣訪問時就需要輸入系統(tǒng)管理員的用戶名和密碼,增強(qiáng)安全性。
3.3 源碼
實現(xiàn)思路:為了保護(hù)數(shù)據(jù)的安全性,在3.2.1.2中要把備份系統(tǒng)的虛擬目錄設(shè)成不允許匿名訪問,需要系統(tǒng)管理員的密碼;另外在3.2.1.1注意事項中1提到的不讓備份文件存在的目錄讓用戶能通過Http協(xié)議訪問到,需要在生成下載文件后臨時生成一個虛擬目錄,下載完畢后再刪除掉,確保安全。
一共包括四個文件,BackSet.asp、BuildvDir.asp、DelvDir.asp、BackList.asp。
-BackSet.asp:選擇要建立臨時下載虛擬目錄的站點,同時臨時給定下載虛擬目錄的名稱;
- BuildvDir.asp:根據(jù)BackSet.asp文件給定的站點和虛擬目錄名稱,建立虛擬目錄;
-DelvDir.asp:刪除在BackSet.asp文件給定的站點中的虛擬目錄;
-BackList.asp:壓縮備份文件,建立對應(yīng)的被壓縮后備份文件的下載鏈接;,
3.3.1 BackSet.asp文件解釋
3.3.1.1 源碼
…
<body bgcolor="#EEEEEC">
<center>
<font size=4>生成或者刪除**項目備份數(shù)據(jù)庫虛擬目錄</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