自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MS SQL Server數(shù)據(jù)磁帶備份和恢復(fù)在Web下

數(shù)據(jù)庫(kù) SQL Server
我們今天是要和大家一起討論的是在Web環(huán)境之下對(duì)MS SQL Server中數(shù)據(jù)進(jìn)行磁帶備份和恢復(fù)的實(shí)際操流程,以及在實(shí)際操作值得我們大家注意的實(shí)現(xiàn)的描述。

以下的文章主要描述的是在Web環(huán)境之下對(duì)MS SQL Server中數(shù)據(jù)進(jìn)行磁帶備份和恢復(fù)的實(shí)際操作步驟,其中包括在硬盤(pán)上正確的建立一個(gè)和磁帶的容量相當(dāng)?shù)臄?shù)據(jù)庫(kù),即橋數(shù)據(jù)庫(kù)和在Web信息系統(tǒng)中要實(shí)現(xiàn)完整的磁帶數(shù)據(jù)備份及恢復(fù)功能。

從理論與實(shí)踐上闡述了如何利用SQL中現(xiàn)有的數(shù)據(jù)庫(kù)備份和恢復(fù)的命令以及NT中的IDC技術(shù)。

1 引言

實(shí)現(xiàn)磁帶備份數(shù)據(jù)的功能有兩方面的困難:首先,MS SQL Server(以下簡(jiǎn)稱SQL)所提供的數(shù)據(jù)庫(kù)的整體備份及恢復(fù)功能不能直接滿足本系統(tǒng)要求的數(shù)據(jù)滾動(dòng)備份。其次,需要解決如何在Web環(huán)境下實(shí)現(xiàn)磁帶數(shù)據(jù)備份功能。

利用SQL中現(xiàn)有的數(shù)據(jù)庫(kù)備份和恢復(fù)的命令以及NT中的IDC技術(shù),實(shí)現(xiàn)SQL數(shù)據(jù)庫(kù)中數(shù)據(jù)滾動(dòng)備份到磁帶的功能。本系統(tǒng)所實(shí)現(xiàn)功能既能保證近一段時(shí)間的數(shù)據(jù)總在數(shù)據(jù)庫(kù)中,又能保證系統(tǒng)管理員可隨時(shí)恢復(fù)備份數(shù)據(jù),供用戶查詢。本文所實(shí)現(xiàn)的功能具有普遍的意義,特別適用于中小型企業(yè)開(kāi)發(fā)基于Intranet技術(shù)的管理信息系統(tǒng)。

2 磁帶數(shù)據(jù)備份及恢復(fù)的工作過(guò)程

為了充分利用SQL中現(xiàn)有的數(shù)據(jù)庫(kù)備份與恢復(fù)功能,以降低實(shí)現(xiàn)磁帶數(shù)據(jù)備份的代價(jià),我們特地在硬盤(pán)上建立了一個(gè)與磁帶的容量相當(dāng)?shù)臄?shù)據(jù)庫(kù),我們稱之為橋數(shù)據(jù)庫(kù),如FJJDBBK??煞奖愕貙?shí)現(xiàn)數(shù)據(jù)的滾動(dòng)備份了。其工作過(guò)程是:管理員把某月的數(shù)據(jù)從主數(shù)據(jù)庫(kù)移到橋數(shù)據(jù)庫(kù)中;然后用SQL的備份功能把橋數(shù)據(jù)庫(kù)備份到磁帶上。

用戶需要查看磁帶中的歷史數(shù)據(jù)時(shí),系統(tǒng)又用SQL的恢復(fù)備份功能把磁帶中的數(shù)據(jù)恢復(fù)到橋數(shù)據(jù)庫(kù)中,用戶直接在橋數(shù)據(jù)庫(kù)中查閱歷史數(shù)據(jù)。此外,在數(shù)據(jù)備份到磁帶后,在進(jìn)行下次數(shù)據(jù)備份前,必須清空備份數(shù)據(jù)庫(kù)中的數(shù)據(jù)。為了提高工作效率,我們建立了一個(gè)空白橋數(shù)據(jù)庫(kù)(沒(méi)有數(shù)據(jù)時(shí)的橋數(shù)據(jù)庫(kù))。每次進(jìn)行磁帶備份數(shù)據(jù)之前,就用此空白數(shù)據(jù)庫(kù)恢復(fù)橋數(shù)據(jù)庫(kù)??瞻讛?shù)據(jù)庫(kù)文件建立后要保存好,不可隨便刪除。

建立該備份空白數(shù)據(jù)庫(kù)過(guò)程為:先建立主數(shù)據(jù)庫(kù)FJJDBBK,然后在FJJDBBK中建立與當(dāng)前數(shù)據(jù)庫(kù)中一樣結(jié)構(gòu)的表。建立這些表結(jié)構(gòu)時(shí)最好的方法是先用Enterprise Manager的Object菜單下的Generate SQL Scripts功能生成建立這些表的Scripts文件,然后選擇FJJDBBK數(shù)據(jù)庫(kù),用Enterprise Manager的Tools菜單下的Query Analyzer功能運(yùn)行該文件,就建立了這些所需表。顯然,這時(shí)的FJJDBBK為空數(shù)據(jù)庫(kù)。我們?cè)倮脗浞菝罨蜻\(yùn)行Tools菜單下的Backup/Restore功能備份該空數(shù)據(jù)庫(kù)。

3 磁帶數(shù)據(jù)備份及恢復(fù)的實(shí)現(xiàn)

在NT中,Web服務(wù)器IIS(Internet Information Server)提供了完善的訪問(wèn)SQL的技術(shù)IDC。IDC是一個(gè)DLL文件

(HTTPODBC.DLL),其實(shí),它通過(guò)ODBC接口可訪問(wèn)各種數(shù)據(jù)庫(kù)。在具體實(shí)現(xiàn)Web頁(yè)面訪問(wèn)數(shù)據(jù)庫(kù)時(shí),需建立兩種類型的文件:IDC文件(*.idc)和HTML模板文件(*.htx)。IDC文件用于控制數(shù)據(jù)庫(kù)的訪問(wèn)。它一般由兩部分組成:

.文件頭 指明系統(tǒng)數(shù)據(jù)源,模板文件名,用戶名及口令。有時(shí)還包括一些有關(guān)檢索數(shù)據(jù)庫(kù)方面的參數(shù)設(shè)置。

.文件主體 這部分內(nèi)容以"SQLStatement:"為起始標(biāo)志,然后寫(xiě)操縱數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)SQL語(yǔ)句。注意,每條語(yǔ)句以"+"號(hào)開(kāi)頭,它作為區(qū)分每條SQL語(yǔ)句的標(biāo)志。需要強(qiáng)調(diào)的是,對(duì)于MS MS SQL Server數(shù)據(jù)庫(kù),IDC可用其任何標(biāo)準(zhǔn)的命令及函數(shù)。例如定義變量,控制數(shù)據(jù)流等(見(jiàn)實(shí)例)。

IDC的處理流程如下:

首先,Web服務(wù)器IIS分析瀏覽器傳來(lái)的URL字符串。如果當(dāng)前字符串以"*.idc"結(jié)尾,就將該IDC請(qǐng)求傳給IDC接口模塊,IDC將依次讀取并解釋IDC文件的內(nèi)容,通過(guò)ODBC模塊向數(shù)據(jù)庫(kù)服務(wù)器發(fā)服務(wù)請(qǐng)求;數(shù)據(jù)庫(kù)服務(wù)器將執(zhí)行結(jié)果通過(guò)ODBC接口返回給IDC模塊。接著IDC模塊把結(jié)果插入指定的的模板文件,形成一個(gè)實(shí)際的HTML文件交給IIS;最后由IIS將該HTML返回瀏覽器。

在Web信息系統(tǒng)中要實(shí)現(xiàn)完整的磁帶數(shù)據(jù)備份及恢復(fù)功能需要實(shí)現(xiàn)以下三個(gè)功能:"數(shù)據(jù)備份"功能、"數(shù)據(jù)恢復(fù)"功能和"清理數(shù)據(jù)"功能。"數(shù)據(jù)備份"功能在保證系統(tǒng)管理員操作的前提下,根據(jù)用戶輸入的所要備份數(shù)據(jù)的起始日期和終止日期,從主數(shù)據(jù)庫(kù)把要備份的數(shù)據(jù)轉(zhuǎn)存到橋數(shù)據(jù)庫(kù)中,然后運(yùn)用SQL的DUMP命令實(shí)現(xiàn)該功能。

"數(shù)據(jù)恢復(fù)"功能則在保證系統(tǒng)管理員操作的前提下,提供"恢復(fù)橋數(shù)據(jù)庫(kù)"和"恢復(fù)空白橋數(shù)據(jù)庫(kù)"的功能。只要運(yùn)用SQL的LOAD命令就可實(shí)現(xiàn)上述功能;同樣,"清理數(shù)據(jù)"功能也要保證在系統(tǒng)管理員操作的前提下,根據(jù)用戶輸入的所要?jiǎng)h除數(shù)據(jù)的起始日期和終止日期,運(yùn)用SQL中的DELETE命令刪除當(dāng)前數(shù)據(jù)庫(kù)中數(shù)據(jù)。因此。為了"數(shù)據(jù)備份"功能和"清理數(shù)據(jù)"功能的順利實(shí)施,要求每個(gè)表都有歸檔時(shí)間字段。

實(shí)現(xiàn)本系統(tǒng)磁帶數(shù)據(jù)備份與恢復(fù)功能的部分IDC文件如下:

 

  1. /*BKUP.IDC*/  
  2. Datasource: Web SQL  
  3. Template: BKUP.htx  
  4. Username: sa  
  5. Password: sa  
  6. SQLStatement:  
  7. +if %jb%=1  

 

+/*判斷系統(tǒng)維護(hù)員*/

 

  1. +SELECT qsrq=convert(varchar(12),getdate(),1),  
  2. zzrq=convert(varchar(12),+dateadd(day,1,getdate()),1)  

 

+/*預(yù)置起始日期和終止日期*/

 

  1. /*BKUPCZ.IDC*/  
  2. Datasource: Web SQL  
  3. Template: BKUPCZ.htx  
  4. Username: sa  
  5. Password: sa  
  6. SQLStatement:  
  7. +INSERT FJJDBBK.DBO.JKLD SELECT * FROM FJJDB.DBO.JKLD  
  8. +where convert(varchar(12),gdsj,1)>=′%QSRQ%′  
  9. and convert(varchar(12),gdsj,1)< =′%ZZRQ%′  
  10. …………  

 

+/*把當(dāng)前數(shù)據(jù)庫(kù)中選定的數(shù)據(jù)轉(zhuǎn)存到橋數(shù)據(jù)庫(kù)中*/

 

  1. +DUMP DATABASE FJJDBBK TO TAPE = ′.tape0′ WITH INIT, NOUNLOAD 

+/*備份數(shù)據(jù)*/

+SELECT TS=′備份數(shù)據(jù)庫(kù)操作已完成!′

 

  1. /*HUIF.IDC*/  
  2. Datasource: Web SQL  
  3. Template: HUIF.htx  
  4. Username: sa  
  5. Password: sa  
  6. SQLStatement:  
  7. +if %jb%=1  
  8. +begin  
  9. +LOAD DATABASE FJJDBBK FROM TAPE=′.TAPE0′ WITH  
  10. NOUNLOAD  

 

+/*恢復(fù)備份數(shù)據(jù)*/

+SELECT TS=′恢復(fù)MS SQL Server數(shù)據(jù)庫(kù)操作已完成!′+/*

 

  1. +end  
  2. /*QLSJKCZ.IDC*/  
  3. Datasource: Web SQL  
  4. Username: sa  
  5. Password: sa  
  6. Template: QLSJKCZ.htx  
  7. SQLStatement:  
  8. +delete FJJDB.DBO.JKLD  
  9. where convert(varchar(12),gdsj,1)>=′%QSRQ%′ and  
  10. convert(varchar(12),gdsj,1)<=′%ZZRQ%′  
  11. …………  

 

+/*刪除當(dāng)前數(shù)據(jù)庫(kù)中選定的數(shù)據(jù)*/

+SELECT TS=′刪除操作已完成!′

在本系統(tǒng)中,主數(shù)據(jù)庫(kù)保證存儲(chǔ)4個(gè)月數(shù)據(jù)。系統(tǒng)規(guī)定,系統(tǒng)管理員每月月初備份上月的數(shù)據(jù)到磁帶。然后刪除前第4個(gè)月的數(shù)據(jù)。實(shí)現(xiàn)了當(dāng)前數(shù)據(jù)與歷史數(shù)據(jù)的同步查閱,這是Web系統(tǒng)的一個(gè)顯著的優(yōu)點(diǎn)。

4 結(jié)語(yǔ)

本文介紹了一種特殊的數(shù)據(jù)磁帶備份與恢復(fù)的具體實(shí)現(xiàn)方法。需要指出的是,數(shù)據(jù)庫(kù)備份操作是數(shù)據(jù)庫(kù)管理系統(tǒng)非常重要的環(huán)節(jié),而數(shù)據(jù)庫(kù)備份操作過(guò)程又比較復(fù)雜,因此,要求我們必須建立完善的規(guī)章制度,由專業(yè)的系統(tǒng)管理員進(jìn)行數(shù)據(jù)庫(kù)備份和恢復(fù)操作。

上述的相關(guān)內(nèi)容就是對(duì)Web環(huán)境下MS SQL Server中數(shù)據(jù)的磁帶備份與恢復(fù)的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。 

【編輯推薦】

  1. 用SQL Server數(shù)據(jù)庫(kù)鎖來(lái)定時(shí)間的長(zhǎng)短方法
  2. 淺談SQL Server鎖粒
  3. SQL Server數(shù)據(jù)庫(kù)鎖的引入的緣由
  4. 正確解決SQL Server警報(bào)問(wèn)題
  5. SQL Server分布式數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)與缺點(diǎn)
責(zé)任編輯:佚名 來(lái)源: 比特網(wǎng)
相關(guān)推薦

2010-07-08 11:05:14

SQL Server數(shù)

2010-07-06 14:55:33

SQL Server磁

2009-02-16 17:18:31

恢復(fù)備份模式

2011-04-01 10:40:07

SQL Server數(shù)備份恢復(fù)

2022-08-26 17:22:12

SQL數(shù)據(jù)庫(kù)

2009-05-22 16:42:02

MS SQLMySQL轉(zhuǎn)換

2023-09-05 00:06:45

2023-09-21 09:31:24

MySQL數(shù)據(jù)庫(kù)

2010-04-19 12:54:01

Oracle數(shù)據(jù)庫(kù)

2011-03-21 10:13:31

Sql Server數(shù)分區(qū)

2015-08-21 10:40:10

SQL Server備份還原

2010-08-09 13:30:27

DB2數(shù)據(jù)庫(kù)備份

2011-03-16 10:11:41

WindowsEnterpriseD

2010-07-21 13:25:04

SQL Server備

2010-11-10 13:22:41

SQL Server備

2011-03-23 10:08:09

2009-08-05 09:38:28

SQL Server數(shù)

2010-06-30 10:55:13

SQL Server日

2010-07-08 13:26:02

SQL Server

2011-03-28 12:33:09

SQL Server數(shù)據(jù)庫(kù)鏈接
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)