王捷音
隨著計算機技術的發(fā)展,數(shù)據(jù)庫技術已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎,數(shù)據(jù)庫信息的安全性和穩(wěn)定性就顯得尤為重要。我們?nèi)粘9ぷ髦兴玫降挠晁樘幚硐到y(tǒng)、報文的轉(zhuǎn)換系統(tǒng)、水文管理系統(tǒng)等都是以水文數(shù)據(jù)庫為基礎的,如果由于人為錯誤、硬件故障、程序錯誤、計算機病毒、網(wǎng)絡故障或自然災害等原因造成水文數(shù)據(jù)庫破壞或丟失,將嚴重影響防汛抗旱工作的順利進行,因此,需要進行數(shù)據(jù)庫備份來保護水文數(shù)據(jù)庫。當數(shù)據(jù)庫受到破壞或丟失時,用戶可以使用數(shù)據(jù)庫的備份文件對其進行恢復,保障水文數(shù)據(jù)庫信息的安全和穩(wěn)定。
SQL SERVER 2005是目前比較常用的數(shù)據(jù)庫,對數(shù)據(jù)庫的備份也有許多方法,利用其本身企業(yè)管理器帶有備份和恢復數(shù)據(jù)庫的工具可以實現(xiàn),利用ASP以及別的編程技術也可實現(xiàn)。本文主要介紹的是利用SQL SERVER代理作業(yè)實現(xiàn)水文數(shù)據(jù)庫在本機以及遠程的雙備份。這樣即使本機受到損壞,但網(wǎng)絡內(nèi)的另外一臺機器還有備份。
要實現(xiàn)本機遠程雙備份技術就必須要了解SQL SERVER 2005數(shù)據(jù)庫備份的基本原理和相關的基礎知識,SQL SERVER 2005常用的備份和恢復的方法有:
(1)通過企業(yè)管理器的數(shù)據(jù)庫備份和還原功能。
(2) 在查詢分析器里執(zhí)行“sp_detach_db’db_name’,true”分離數(shù)據(jù)庫,將*.mdf和*.ldf拷貝出來,當然也可以通過停止SQL SERVER服務來拷貝數(shù)據(jù)庫文件,即冷備份。利用數(shù)據(jù)庫附加來還原數(shù)據(jù)庫。
(3)在查詢分析器里執(zhí)行“backup database‘db_name’to disk=’文件名’”來備份數(shù)據(jù)庫,執(zhí)行“restoredatabase‘db_name’fromdisk=’文件名’”可還原數(shù)據(jù)庫。
第一種方法是利用SQL SERVER的企業(yè)管理器自帶的數(shù)據(jù)庫備份恢復的功能,可以直接使用。第二種方法是通過在查詢分析器里執(zhí)行數(shù)據(jù)庫分離的SQL語句來實現(xiàn),也可以通過拷貝文件來實現(xiàn)冷備份。第三種方法就是要在查詢分析器里里執(zhí)行SQL語句來備份和還原數(shù)據(jù)庫。本文將采用第三種方法的原理,在代理作業(yè)中進行自動備份。
利用代理作業(yè)的目的是將數(shù)據(jù)庫根據(jù)時間進行本機和遠程備份,備份后壓縮、刪除原文件、定期刪除一天前的遠程以及本機備份。利用SQL SERVER代理作業(yè)的前提是將SQL Server Agent服務打開。假設水文數(shù)據(jù)庫(數(shù)據(jù)庫名為SQDB)在A機上,將數(shù)據(jù)庫備份保留在A機的E盤下的SJDB文件夾下同時存在局域網(wǎng)內(nèi)B機(假設B機的ip地址為192.168.0.7,將bf文件夾做為備份文件夾)上。具體步驟如下:
(1)在開始菜單中打開SQL Server Management Studio,展開窗口左邊的對象資源管理器。
(2)在 SQL Server代理下,選擇“作業(yè)->新建作業(yè)->常規(guī)”,輸入作業(yè)的名稱。在新建步驟中選擇T-SQL,命令中輸入下面語句:
代碼中備份的刪除間隔天數(shù)可以自由設置,可以設置成1d,也可以設置成7d。
(3)添加計劃,按工作的實際情況設置頻率、時間等參數(shù),這樣代理作業(yè)就可以按照使用者的意愿去執(zhí)行。
進行數(shù)據(jù)庫代理作業(yè)設置之后,由于所備份文件處于壓縮狀態(tài),可以自動刪除,占用硬盤空間較小,使用起來比較靈活,簡化了數(shù)據(jù)的備份工作,但進行完數(shù)據(jù)庫備份之后還應對數(shù)據(jù)庫備份進行測試,這樣才能有效地保護數(shù)據(jù)庫信息的安全和穩(wěn)定